简介
Node视一个JS文件为一个模块,每一个模块执行的时候都会注入一个module对象( 可以理解为通过将模块的所有代码包裹在一个函数实现),模块可以通过访问module.exports对象(函数的其中一个参数叫module)从而导出数据或函数。
例子
// (a.js) 导出函数
function Hello() {};
module.exports = Hello;
// (b.js) 导出数据
var name = "Nico";
module.exports.name = name;
module.exports.age= 17;
moudle.exports.score = {"Math":100, "English":100};
笔记
- 为了方便操作,Node执行模块时还会注入exports变量,
exports = moudle.exports
- 导出模块的功能以moudle.exports为标准,对exports重新赋值不会影响导出的功能
- Node 中的模块有缓存,已经导入过的模块不会重新执行,而是返回
moudle.exports
的导出值。