- CommonJS 模块输出的是一个值的拷贝,而 ES6 模块输出的是值的引用;
- CommonJS 模块是运行时加载,而 ES6 模块是编译时输出;
- 关于模块顶层的
this指向问题,在CommonJS顶层,this指向当前模块,而在ES6模块中,this指向undefined; - 关于两个模块互相引用的问题,在ES6模块当中,是支持加载CommonJS模块的。但是反过来,CommonJS并不能
requireES6模块; - 因为CommonJS的
require语法是同步的,所以就导致了CommonJS模块规范只适合用在服务端,而ES6模块无论是在浏览器端还是服务端都是可以使用的,但是在服务端中,还需要遵循一些特殊的规则才能使用 ;
CommonJS和ES6模块的区别
于 2024-02-27 16:29:33 首次发布
本文比较了CommonJS模块和ES6模块在输出值、运行时机、顶层this指向以及互相引用方面的差异。ES6模块支持异步加载,适用于浏览器和服务器,而CommonJS主要限于服务端,由于其同步require限制。
1215

被折叠的 条评论
为什么被折叠?



