鉴别网络面试题:CommonJS和ES6 Module区别

前言

CommonJS和ES6 Module是目前使用较为广泛的模块标准,那么他们之间的区别是啥呢,感觉很多文章说的不是很好,然后下面是个人的总结,如有不足,还请指教。

正文

1.它们的主要区别在于前者是在运行时建立模块依赖关系,后者是在编译时建立;
2.在模块导入方面,CommonJS导入的是值副本,ES6 Module导入的是只读的变量映射;
3.ES6 Module通过其静态特性可以进行编译过程中的优化,并且具备处理循环依赖的能力;
4.运行环境:CommonJS在服务器端,ES6 Module在浏览器/服务端端;
5.CommonJS是同步,ES6 Module是异步;

你可能感兴趣的:(es6,前端,javascript)