You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

Angular 10禁用差异加载仍生成ES5打包文件问题求助

解决Angular 10仅生成ES2015+打包文件的问题

针对你遇到的配置后仍生成ES5打包文件的问题,按以下步骤排查解决:

1. 修改angular.json的构建核心配置

Angular CLI默认开启差异加载(differential loading),会同时生成ES5和ES2015版本以兼容新旧浏览器。要仅输出现代浏览器支持的ES2015+代码,需修改项目根目录的angular.json:
找到projects -> [你的项目名称] -> architect -> build -> options,添加或调整以下配置:

{
  "target": "es2015",
  "differentialLoading": false,
  "polyfills": "src/polyfills.ts"
}
  • target: es2015:明确告诉CLI编译目标为ES2015
  • differentialLoading: false:关闭差异加载,不再生成ES5版本

2. 验证browserslist配置有效性

你的.browserslistrc配置supports es6-module是正确的,但需要确认Angular能正确识别。在项目根目录运行命令:

npx browserslist

输出结果应全部为支持ES6模块的现代浏览器(如Chrome 61+、Firefox 60+等),如果输出异常,检查文件是否在根目录、有无语法错误。

3. 确保tsconfig配置未被覆盖

你的根tsconfig.json已设置target: es2015和module: ESNext,但需检查项目内的tsconfig.app.json(如果存在),确保它没有覆盖这些配置:
tsconfig.app.json的compilerOptions应继承根配置或直接设置一致的参数:

{
  "extends": "./tsconfig.json",
  "compilerOptions": {
    "target": "es2015",
    "module": "ESNext"
  }
}

4. 清理缓存后重新构建

缓存可能导致配置不生效,执行以下命令清理并重新构建生产版本:

ng clean
ng build --prod

构建完成后,查看dist目录下的JS文件,检查是否使用了箭头函数、let/const等ES2015+特性,确认已不再生成ES5代码。

内容的提问来源于stack exchange,提问作者YSFKBDY

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.02 10:35:41