ES6模块系统和Nodejs模块系统

 

  • CommonJS 模块输出的是一个值的拷贝,ES6 模块输出的是值的引用。
  • CommonJS 模块是运行时加载,ES6 模块是编译时输出接口。

ES6 模块的设计思想是尽量的静态化,使得编译时就能确定模块的依赖关系,以及输入和输出的变量。数据动态更新。

CommonJS 和 AMD 模块,都只能在运行时确定这些东西。CommonJS 模块输出的是值的缓存,不存在动态更新。比如,CommonJS 模块就是对象,输入时必须查找对象属性。

Node遵循CommonJS规范。

http://naotu.baidu.com/file/f03f6830a9a0de7bafa2a987cc065e46?token=35d035cc963f2d82

ES6模块系统和Nodejs模块系统