如何从node.js中的文件到另一个文件获取变量

XMe*_*Men 43 node.js

这是我的第一个文件:

var self=this;
var config ={
    'confvar':'configval'
};
Run Code Online (Sandbox Code Playgroud)

我想在另一个文件中使用这个配置变量,所以我在另一个文件中做的是:

conf = require('./conf');
    url=conf.config.confvar;
Run Code Online (Sandbox Code Playgroud)

但它给了我一个错误.

TypeError: Cannot read property 'confvar' of undefined
Run Code Online (Sandbox Code Playgroud)

请建议我该怎么办?

Cha*_*nce 95

你需要的是module.exports

出口

在当前模块的所有实例之间共享的对象,可通过require()访问.exports与module.exports对象相同.有关更多信息,请参阅src/node.js.出口实际上并不是全球性的,而是每个模块的本地出口.

例如,如果您希望公开variableName"variableValue",sourceFile.js那么您可以设置整个导出:

module.exports = { variableName: "variableValue" };
Run Code Online (Sandbox Code Playgroud)

或者您可以设置单个值:

module.exports.variableName = "variableValue";
Run Code Online (Sandbox Code Playgroud)

要在另一个文件中使用该值,首先需要require(...)它(使用相对路径):

var sourceFile = require('./sourceFile');
console.log(sourceFile.variableName);
Run Code Online (Sandbox Code Playgroud)


小智 8

文件FileOne.js

module.exports = { ClientIDUnsplash : 'SuperSecretKey' };
Run Code Online (Sandbox Code Playgroud)

文件FileTwo.js

var { ClientIDUnsplash } = require('./FileOne');
Run Code Online (Sandbox Code Playgroud)

这个例子最适合 React。