JS 模块化发展历程

  1. 命名空间模式
  2. CommonJs
  3. AMD 规范(关于 CommonJs 的异步规范实现)
  4. ES6模块化
  5. 工程化工具 webpack、vite 等打包构建工具

-----------------------------CommonJs 和 ES6 Module 的区别

  1. CommonJs导出的是变量的一份拷贝,ES6 Module导出的是变量的绑定(export default 是特殊的)
  2. CommonJs是单个值导出,ES6 Module可以导出多个
  3. CommonJs是动态语法可以写在判断里,ES6 Module静态语法只能写在顶层
  4. CommonJs的 this 是当前模块,ES6 Module的 this 是 undefined
javascript
57 views
Comments
登录后评论
Sign In
·

ES6 之后就没那么麻烦了,ES6 吸收了很多 CommonJs/AMD 的优点,基本需求都能满足