2016年3月6日
nodejs
在一个模块中通过var定义的变量,其作用域范围是当前模块,外部不能够直接的访问 如果我们想一个模块能够访问另外一个模块中定义的变量,可以:
把变量作为global对象的一个属性,但是这样的做法是推荐
使用模块对象 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
Was this helpful?