【发布时间】:2020-08-21 09:29:52
【问题描述】:
我很好奇 ESM 的 tree-shaking/dead code 消除是如何工作的。我将 Typescript 用于各种 Node.js 项目,并开始导出我自己的 ESM 包 (tsc --module es2015 --target es5 --outDir dist/esm) 而不是 CJS 包。此外,我尝试将仅可作为 CJS 模块使用的依赖项(如 lodash)替换为可作为 ESM 使用的库。
当我构建一个项目时,我的整个 TS 代码库 (./src) 被转译为 JS (./dist);依赖项仍然取自 (./node_modules)。不执行摇树。
我想我仍然需要一个(至少)需要一个入口点的捆绑程序(如 Webpack),这样它就可以摆脱所有不需要的东西,这样我就可以减少(例如)AWS 的包大小拉姆达?这是你会做的事情吗?
【问题讨论】:
标签: javascript node.js typescript