1、CommonJS 模块规范
Node 模块是用的 CommonJS 规范。
在 commonJS 中每个文件就是一个模块,有自己的作用域。在一个文件里的变量、函数、类,都是其私有的。
每个模块内部有一个 module 表示当前模块。这个变量是一个对象,它的 exports 属性(就是 module.exports) 是对外的接口。加载某个模块,其实就是加载每个模块的属性(module.exports)。
假设代码:var demo = require(‘./index.js’);
这里的 require 就是用于加载模块。就是 ES6 中的 import 方法。
var exports = module.exports;
2、ES6 模块规范
其中 export 和 import 分别是 导出、导入模块。export 命令规定的是对外的接口,必须与模块内部变量建立一一对应的关系。
3、export default 是为模块指定默认输出。