我有问题,包括在我的NodeJs项目中要执行的文件。
我在同一个目录中有两个文件:
a.js
var test = "Hello World";和
b.js
require('./a.js');
console.log(test);我使用b.js执行node b.js并获得错误ReferenceError: test is not defined。
我已经翻阅了文档modules
我遗漏了什么?提前谢谢。
发布于 2012-07-30 17:35:28
更改a.js以导出变量:
exports.test = "Hello World";并将require('./a.js')的返回值赋给一个变量:
var a = require('./a.js');
console.log(a.test);您将经常看到并可能使用的另一种模式是将某些东西(一个对象、函数)赋值给module.exports a.js中的a.js对象,如下所示:
module.exports = { big: "string" };发布于 2012-07-30 17:35:19
你误解了应该发生的事。模块中定义的变量不共享。NodeJS对他们进行观察。
您必须用module.exports返回它。
a.js
module.exports = "Hello World";b.js
var test = require('./a.js');
console.log(test);发布于 2017-04-08 21:31:27
如果要在另一个file.There中导出变量,则有两种模式。一个是a.js
这里的global.test = "Hello World"; //test是全局变量,但它将受到污染。
另一个是
a.js module.exports.test = "Hello World";或exports.test= "Hello“;b.js var test = require('./a.js'); //test in b.js可以在a.js console.log(测试)中获得测试;
https://stackoverflow.com/questions/11726525
复制相似问题