我们可以在不使用require或模块的情况下共享JS文件的全局变量



我尝试在不使用模块的情况下在JS文件和GULP任务中共享我的全局变量。

这是示例代码:

文件1:

server.js

var server = new Hapi.Server()
  global.configurationManagerObj = 'Dev'

文件2:

siteconfig.js

console.log("This is global variable from server file",global.configurationManagerObj)

文件3:

gulpfile.js

gulp.task('setenv', function(done) {
    console.log("Global variable is shared in gulp task", global.configurationManagerObj);
    done();
});

但是,如果我尝试获取变量,则显示未定义。

您可以在全局process对象上分配变量并可以在任何地方访问它。

这可能有助于读取环境变化

env变量仅在nodejs process中可用。如果节点未运行,u将不会具有变量。并且您也无法在节点过程之外获得该变量。更好的是,我认为使用需要PS:完全个人观点。

您是否尝试使用环境变量存储全局变量? process.env建立在nodejs中。

ex。process.env.foo =" foo"

您只能在节点进程运行时能够访问它,否则将显示所有内容为undefined

PS:请记住,这是一种反模式。另外,在process.env上分配属性将隐式将值转换为字符串。

相关内容

最新更新