Angular 12修改配置未生效?是否忽略配置文件或读取缓存?
Angular CLI 从 v12 版本开始默认开启了持久化构建缓存,缓存内容默认存放在项目根目录的 .angular/cache 文件夹下,你遇到的配置修改不生效、残留旧警告、不同构建配置行为不一致的问题,都是旧缓存没有清理导致的。
解决IE 11警告残留问题
- 首先清理Angular构建缓存,执行命令:
# Mac/Linux rm -rf .angular/cache # Windows rmdir /s /q .angular\cache - 检查
package.json中是否存在browserslist字段,该字段优先级高于.browserslistrc文件,如果存在需要同步添加not IE 11规则,或者直接删除该字段以.browserslistrc配置为准。 - 可以执行
npx browserslist命令,查看最终生效的兼容浏览器列表,确认输出中没有IE 11即可。
解决AOT配置不生效与栈溢出报错问题
- Angular会为
angular.json中定义的每一套构建配置生成独立的缓存,修改单个配置的AOT开关后必须清理缓存才会读取新配置。 - AOT模式下的
Maximum call stack size exceeded报错,通常是模板中存在递归组件、循环引用导致的,你可以排查项目中的递归组件逻辑,补充终止条件避免无限递归。 - 后续修改
angular.json、tsconfig.json、.browserslistrc这类构建相关配置后,都先清理一遍缓存再执行构建,就能保证配置改动生效。
内容的提问来源于stack exchange,提问作者Jette
相关产品推荐
相关产品推荐

