- 简述区别
兼容性
commonJS在node中使用,和ES6模块不兼容,ES6兼容node和浏览器
语法
commonJS 是 require 和 module.exports
ES6 是 important 和 export
- 运行时加载和编译时加载
commonJS 是运行时加载, 是加载这个模块的所有方法
ES模块是编译时加载,只加载自己需要的方法,不能加载所有模块上的方法,效率比commonJS要高
- 三个重大差异
- commonJS输出是值得拷贝 ES6模块输出是值得引用
- commonJS 是运行时加载, ES6模式是编译时输出接口
- commonJS require()是同步加载模块,ES6 模块的import命令是异步加载,有一个独立的模块依赖的解析阶段