各位靓仔靓女们,晚上好!我是今晚的讲师,大家可以叫我老王。今天咱们不聊风花雪月,就来掰扯掰扯 JavaScript 的 ESM 和 package.json 里的 exports 字段,争取让大家听完之后,腰不酸了,腿不疼了,ESM 用起来也更顺手了。 开场白:ESM,你的甜蜜小棉袄? 话说当年,JavaScript 这孩子刚出生的时候,那叫一个野蛮生长,模块化?不存在的!大家都是全局变量满天飞,稍微大一点的项目,就跟 spaghetti 代码一样,乱成一锅粥。后来,CommonJS 出现了,Node.js 率先拥抱,总算有了点模块化的样子。但是,CommonJS 也有它的局限性,比如只能在运行时确定模块依赖关系,无法进行静态分析优化。 这时候,ESM(ECMAScript Modules)横空出世,它可是 JavaScript 官方钦定的模块化标准,解决了 CommonJS 的一些痛点,比如可以在编译时确定模块依赖关系,方便进行 tree-shaking 等优化。 ESM 的语法也更简洁明了: 使用 import 导入模块 使用 export 导出模块 跟 CommonJS 的 re …
继续阅读“JavaScript内核与高级编程之:`JavaScript`的`ESM`与`package.json`:`exports`字段的用法。”