参考:
-
http://es6.ruanyifeng.com/#docs/module
2.http://www.ruanyifeng.com/blog/2015/05/require.html
3.http://blog.csdn.net/a409051987/article/details/54747512
JS模块的标准主要有三种:ES6,CommonJS和AMD ,后两种是社区制定。
关于加载方式:ES6的原则是尽量地静态化,是在编译是加载的,而后两种是在运行是加载的,ES6的动态加载是用import()来能实现的。
标准有三种,语法有点像,所以用起来难免会混淆,这里总结一下。主要是ES6和NodeJS实现的CommonIS标准两种。
先来比较一下两种的原理:ES6导出的是接口,而CommonJS导出的是对象,在NodeJS看来,每个模块都是Module的一个实例,Module是一个构造函数(Module的具体解释,还是要看看参考2),而exports是实例的一个属性,事实上导出的东西就是这个exports。
然后是语法:
ES6 的两个命令是import、export
导入和导出需要按照接口一一对应,除export default(匿名导出)
CommJS的命令是exports(module.exports)、require
//导入的是对象
还需要更新例子,下次继续