[学习笔记]CommonJS和 es6 module区别

2020-03-23  本文已影响0人  砂壶

无模块时有哪些问题
1.命名冲突
2.无依赖管理

CommonJS 和 es6 module的区别:

CommonJS es6 module
社区制定的模块加载方案 es6标准
用于服务器端 浏览器和服务器通用的模块解决方案
运行时加载 编译时输出接口
输出值的拷贝 输出值的引用,与其对应的值是动态绑定关系
动态语法可写在判断里 静态语法只能写在顶层
顶层this指向当前模块 顶层的this指向undefined

CommonJS 运行时加载 - 只有运行时才能得到这个对象,导致完全没办法在编译时做“静态优化”。
es6 module编译时加载/静态加载 - 在编译时就完成模块加载,效率要比 CommonJS 模块的加载方式高。使得静态分析成为可能。

其它es6 module好处:



AMD、CMD与CommonJS区别:

AMD、CMD区别:

参考资料

上一篇 下一篇

猜你喜欢

热点阅读