2

根据Angular Package Format 文档,Angular 包被分发为两种 ES 模块:

  • 扁平化 ES 模块 (FESM),其中删除了导入语句并内联了导入的代码。
  • 未扁平化的 ES 模块 (ESM),其中导入语句保持不变。

package.json 的module值指向 FESM 版本。文件中说的原因是:

从 webpack v4 开始,webpack 用户不需要扁平化 ES 模块优化,实际上理论上我们应该能够在不扁平化 webpack 中的模块的情况下获得更好的代码拆分,但在实践中,使用 unflattened 时我们仍然会看到大小回归模块作为 webpack v4 的输入。这就是为什么“module”和“es2015”package.json 条目仍然指向 fesm 文件的原因。我们正在调查此问题,并希望在解决大小回归问题后将“module”和“es2015”package.json 入口点切换到未展平的文件。

为什么未展平的模块会看到尺寸回归而展平的模块没有?

4

0 回答 0