NodeJS模块化遵循了CommonJS规范,
根据CommonJS规范,每个文件就是一个模块,
NodeJS会为每一个JS文件生成一个module对象,这个module对象会有一个exports属性,
并且这个exports属性是一个空对象
exports 返回的是模块函数
module.exports 返回的是模块对象本身,返回的是一个类
- exports的方法,module.exports也是一定能完成的
 
exports.[function name] = [function name]moudle.exports= [function name]
es6模块的区别
require: node 和 es6 都支持的引入export / import : 只有es6 支持的导出引入module.exports / exports: 只有 node 支持的导出
module.exports
module={exports:{}}
var app = {name: 'app',version: '1.0.0',sayName: function(name){console.log(this.name);}}module.exports = app;// 等价于module.exports = {name: 'app',version: '1.0.0',sayName: function(name){console.log(this.name);}}
函数
module.exports = function(args){this.args = args;}
