如何在nodejs中全局定义用户定义的常量

时间:2016-10-10 13:09:16

标签: node.js

  1. 这里,我的问题是,我们在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循环创建全局内容,它无法正常工作

2 个答案:

答案 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中以这种方式使用全局变量通常是不受欢迎的。相反,您通常会在模块中公开这些常量,然后只需要在任何其他想要访问常量的模块中的模块中。这使您的代码更加模块化,并使每个模块更加独立。