Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/458.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/html/84.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
如何在nodejs和web上同时使用javascript?_Javascript_Html_Node.js - Fatal编程技术网

如何在nodejs和web上同时使用javascript?

如何在nodejs和web上同时使用javascript?,javascript,html,node.js,Javascript,Html,Node.js,我想在nodejs和web javascript中使用配置文件 config.js: var conf = {}; conf.name = 'testname'; conf.pass = 'abc123'; conf.ip = '0.0.0.0'; conf.port = 100; conf.delay = 5; exports.config = conf; 在nodejs中使用它: var conf = require('config.js'); console.log(conf.con

我想在nodejs和web javascript中使用配置文件

config.js:

var conf = {};

conf.name = 'testname';
conf.pass = 'abc123';
conf.ip = '0.0.0.0';
conf.port = 100;
conf.delay = 5;

exports.config = conf;
在nodejs中使用它:

var conf = require('config.js');
console.log(conf.config.name);
想在html中使用相同的文件,但如何使用?我是这样想的,但我不知道如何在网络上使用它。当我尝试在web中使用它时,我得到一个引用错误:导出未定义

config.html:

<!doctype html>
<html lang="en">
<head>
    <title>Document</title>
    <script src="./config.js"></script>
    <script>
        var cnf = conf;
        function getCnf(){
            alert(cnf.config.name);
        }
    </script>
</head>
<body>
    <button onclick="getCnf();">test</button>
</body>
</html>

文件
var cnf=conf;
函数getCnf(){
警报(cnf.config.name);
}
测试
有人知道我必须如何更改config.js才能在nodejs和web系统中使用它吗


注:Webside正在nodejs http npm模块上运行。

您可以设置一个条件,如下所示

if (typeof module !== 'undefined' && module.exports) {
    module.exports.config = conf;
}
这确保在设置
导出
上的任何值之前,您有
模块
导出

注意:
导出
只是引用
模块的另一个变量。导出
。所以,它们都是一样的,除非你给它们中的任何一个分配了别的东西。在这种情况下,您为它们中的任何一个分配了一些内容,
module.exports
中的任何内容都将在Node.js中导出。您可以在此

中阅读有关导出的更多信息,您可以使用它为浏览器绑定CommonJS,而无需借助环境开关

  • 使用npm i browserify-g安装browserify
  • 捆绑您的
    config.js
    ,并使用
    -r
    标记将其导出以供外部使用

    browserify-r./config.js-o bundle.js

  • 将捆绑包包括在代码中并使用它:

  • 
    文件
    var cnf=require(“./config.js”);
    函数getCnf(){
    警报(cnf.config.name);
    }
    测试
    
    谢谢,我只需要那种类型的


    @菲尼克斯:我知道有办法做到这一点,但这不是必须的。该变量仅用于一些ajax请求和以后的deley计时器

    不要以这种方式向客户端公开配置,您可以轻松地创建一个路由,检查访问者是否具有管理员权限,并为其提供JSON服务
    <!doctype html>
    <html lang="en">
    <head>
        <title>Document</title>
        <script src="./bundle.js"></script>
        <script>
            var cnf = require("./config.js");
            function getCnf(){
                alert(cnf.config.name);
            }
        </script>
    </head>
    <body>
        <button onclick="getCnf();">test</button>
    </body>
    </html>