2016年3月6日

nodejs

在一个模块中通过var定义的变量,其作用域范围是当前模块,外部不能够直接的访问 如果我们想一个模块能够访问另外一个模块中定义的变量,可以:

  1. 把变量作为global对象的一个属性,但是这样的做法是推荐

  2. 使用模块对象 module

module : 保存提供和当前模块有关的一些信息; 在这个module对象,有一个子对象:exports 对象 我们可以通过这个对象把一个模块中的局部变量对象进行提供访问

<!-- 1.js -->
module.exports.a = a;


<!-- 2.js -->
var m5 = require('./5'); //这个方法的返回值,其实就被加载模块中的module.exports

console.log(module);

//{ a: 100 }
//
//module.exports = [1,2,3];   //exports 和 module.exports 的指向关系已经断开了,module.exports 给改写了,不是在这个对象上添加属性那样了
//。

__filename : 返回当前模块文件解析后的绝对路径,该属性其实并非全局的,而是模块作用域下的 __dirname : 返回当前模块文件所在目录解析后的绝对路径,该属性也不是全局的,而是模块作用域下的。

Last updated