module.exports、exports模块化导入导出方式
在模块化开发过程中经常遇到模块的导出导入。涉及到 require 、export、module.exports、exports这些关键词。但是其中究竟有什么区别。自己还真的经常弄糊涂。 索性自己好好缕一缕。 首先呢,总体上区分两大规范 CommonJS模块规范 和 ES6模块规范 require: node 和 es6 都支持的引入 export / import : 只有es6 支持的导出引入 module.exports / exports: 只有 node 支持的导出 Node里面的模块系统遵循的是CommonJS规范。 CommonJS定义的模块分为: 模块标识(module)、模块定义(exports) 、模块引用(require) =================== CommonJS模块规范中 module.exports / exports / require=========================== 为了方便,Node为每个模块提供一个exports变量,指向module.exports。这等同在每个模块头部,有一行这样的命令。 var exports = module.exports; 具体的可参考测试代码 新建utils.js console.log( '1=', module.exports); // 结果为:{} console.log('2