NodeJs需要('./ file.js')问题
我有问题,包括在我的NodeJs项目中执行的文件。
我有两个文件在同一个目录中:
a.js
var test = "Hello World"; 和
b.js
 require('./a.js'); console.log(test); 
 我用node b.js执行b.js并得到错误ReferenceError: test is not defined 。 
我已经浏览了文档http://nodejs.org/api/modules.html#modules_file_modules
我错过了什么? 提前致谢。
更改a.js以导出variables:
 exports.test = "Hello World"; 
 并将require('./a.js')的返回值require('./a.js')一个variables: 
 var a = require('./a.js'); console.log(a.test); 
 您经常会看到并且可能使用的另一种模式是将一些(对象,函数)分配给module.exports中的module.exports对象,如下所示: 
 module.exports = { big: "string" }; 
你误解了应该发生的事情。 您的模块中定义的variables不共享。 NodeJS范围它们。
 你必须返回它与module.exports 。 
a.js
 module.exports = "Hello World"; 
b.js
 var test = require('./a.js'); console.log(test); 
 如果你想在另一个文件中导出variables。有两种模式。 一个是a.js 
 global.test = "Hello World";  //这里testing是全局variables,但是会被污染 
 另一个是 
  a.js module.exports.test = "Hello World"; 或exports.test =“Hello World”;  b.js var test = require('./a.js');  //在b.js中testing可以在a.js console.log(test)中得到testing;