大家好,很高兴又见面了,我是" 高级前端进阶 ",由我带着大家一起关注前端前沿、深入前端底层技术,大家一起进步,也欢迎大家关注、点赞、收藏、转发! 高级前端进阶1.什么是 esm? esm 是将 javascript 程序拆分成多个单独模块,并能按需导入的标准。和 webpack,babel 不同的是,esm 是 javascript 的标准功能,在浏览器端和 nodejs 中都已得到实现。使用 esm 的好处是浏览器可以优化加载模块,比使用库更有效率。 esm 通过 import, export 语法实现模块变量的导入和导出。同时具有以下特点: 存在模块作用域,顶层变量都定义在该作用域,外部不可见 模块脚本自动采用严格模式 模块顶层的 this 关键字返回 undefined esm 是编译时加载,也就是只有所有 import 的模块都加载完成,才会开始执行 同一个模块如果加载多次,只会执行一次 esm 在浏览器中,可以使用