模块化开发 为什么需要模块化开发 污染全局作用域命名冲突无法管理依赖模块的关系 模块化标准的实现 CommonJS 一个文件就是一个模块每个模块都有单独的作用域通过module.exports导入成员通过require函数载入模块 AMD Require.js CMD ES Modules自动采用严格模式,忽略 ‘use strict’每个模块都有单独的私有作用域ESM通过CORS请求资源ESM的script标签都是异步请求,类似defer ESM的{ ** } 不是解构,只是一种语法!