CommonJs和Es Module
编程语言
2023-04-07 04:55:14
阅读次数: 0
1. 为什么会有CommONjS和ES module呢?
- js文佳作用域都是顶层,这会造成变量污染
- js文件多,变得不好维护
- js依赖问题,稍微不注意顺序引入错,代码全错
为了解决以上问题JavaScript社区出现了CommonJs,commomJs是一种模块化规法,在后来的ES6版本正式加入了Es Module模块,这两种都解决了上面的问题。
2. CommonJs基本语法
- 使用module.export导出变量及函数,也可以省略关键字export,直接写export导出。
- commonJsrequire语法导入
- 支持动态导入,就是可以在语句中使用require语法。
- CommonJs导入的值是拷贝的,所以可以修改拷贝值,但这会引起变量污染,一不小心就会重名。
3. Es Module 基本语法
- Es Module中导出分为两种,单个导出export,默认导出export default
- 可以export和export default同时使用并且互不影响,如果文件里有混合导入,则必须先导入默认导出的,再导入单个导入的值
- Es Moduleimport语法进行导入。如果单个导入必须要用花括号{}
- 导出的值是值得引用,并且内部有映射关系,而且导入得值不能进行修改也就是只读状态。
- import只能声明在该文件的最顶部,不能动态加载导入语句
4. AMD和CMD区别
- AMD是提前执行,CMD是延迟执行
- AMD推崇依赖前置,CMD推崇依赖就近
转载自blog.csdn.net/weixin_54722719/article/details/123222685