一、ESM 的基本概念
ESM(ECMAScript Module)是 ECMAScript 2015(ES6)引入的官方模块化规范,旨在解决 JavaScript 长期缺乏标准化模块化方案的问题。它通过import和export关键字实现模块的导入与导出,具有静态化结构、浏览器与 Node.js 统一支持、按需加载等特性,是现代前端开发的核心基础之一。
特性
- 模块引用为只读视图,无法直接修改值,但引用的值可以通过其他方法修改(如使用导出对象的方法)
- 静态模块结构:模块依赖关系在编译时确定,便于工具进行Tree Shaking(移除未使用代码),例如 Webpack 可通过此特性优化打包体积。
- 单例模块:每个模块在应用中仅加载一次,多次导入指向同一实例,适合管理全局状态
2025/6/17大约 3 分钟