【问题标题】:Angualr 9 - ng build --prod created multiple es5 and es2015 js filesAngular 9 - ng build --prod 创建了多个 es5 和 es2015 js 文件
【发布时间】:2020-08-06 20:24:22
【问题描述】:

当我尝试构建我的 Angular 应用程序时,我得到以下作为捆绑包以及主文件和其他必需文件

0-es5.js
0-es2015.js
1-es5.js
1-es2015.js
4-es5.js
4-es2015.js
9-es5.js
9-es2015.js
10-es5.js
10-es2015.js
11-es5.js
11-es2015.js
12-es5.js
12-es2015.js
13-es5.js
13-es2015.js

tsconfig.json

{
  "compileOnSave": false,
  "compilerOptions": {
    "baseUrl": "./",
    "outDir": "./dist/out-tsc",
    "sourceMap": true,
    "declaration": false,
    "downlevelIteration": true,
    "experimentalDecorators": true,
    "module": "esnext",
    "moduleResolution": "node",
    "importHelpers": true,
    "target": "es2015",
    "typeRoots": [
      "node_modules/@types"
    ],
    "lib": [
      "es2018",
      "dom"
    ],
    "resolveJsonModule": true,
    "esModuleInterop": true
  },
  "angularCompilerOptions": {
    "fullTemplateTypeCheck": true,
    "strictInjectionParameters": true
  }
}

知道为什么会得到多个 es5 和 es2015 文件吗?

【问题讨论】:

    标签: javascript angular angular9


    【解决方案1】:

    从 Angular 8 开始,您可以获得 ES2015 和 ES5 差异化的生产版本。根据加载应用程序的环境(即浏览器),其中一个会被加载 - 但不会同时加载。

    此功能旨在更好地兼容对 ES2015 没有良好支持的旧版本浏览器,例如 Internet Explorer 或第一个 Edge 版本。

    要禁用此功能,您可以阅读此相关 SO 问题:how to turn off differential loading in Angular v8?

    【讨论】:

    • 补充问题,如果您使用延迟加载,Angular 会为每个延迟模块创建不同的 .js(实际上是 2、e5 和 e2015)
    猜你喜欢
    • 2019-11-28
    • 2019-04-06
    • 2020-07-10
    • 1970-01-01
    • 2019-02-28
    • 2021-07-07
    • 1970-01-01
    • 2023-03-09
    • 1970-01-01
    相关资源
    最近更新 更多