这里,我的问题是,我们在php中使用define函数来定义 在全球范围内存在,但我怎么能在nodejs中实现相同的东西
php中的: define(nameofthecontant,value); 在nodejs中如何?
var dataBaseInfo = result.databaseInfo;
// global.DB_HOST = dataBaseInfo['DB_HOST'];
for(var keys in dataBaseInfo) {
global.keys = dataBaseInfo[keys];
}
我有来自数据库xml文件的result.databaseInfo中的数据,而m试图使用for循环创建全局内容,它无法正常工作
答案 0 :(得分:2)
这是在全局命名空间中定义变量的方法:
global.nameofthecontant = value
这是你不想在node.js做的事情。您的问题可能与此问题重复:http://php.net/manual/en/function.file-get-contents.php
答案 1 :(得分:1)
从此处更改您的代码:
global.keys = dataBaseInfo[keys];
到此:
global[keys] = dataBaseInfo[keys];
如果要访问或分配属性且属性名称在变量中,请使用obj[variableName]
语法。
如果你只想将一堆属性从一个对象复制到另一个对象,你也可以在这里使用Object.assign:
Object.assign(global, databaseInfo);
正如其他人所说,在node.js中以这种方式使用全局变量通常是不受欢迎的。相反,您通常会在模块中公开这些常量,然后只需要在任何其他想要访问常量的模块中的模块中。这使您的代码更加模块化,并使每个模块更加独立。