Angular11升级12后执行ng build --prod报错inlineStyleLanguage属性非法
报错原因
inlineStyleLanguage 是 Angular 12 新增的专属配置项,该报错是因为配置位置错误或项目构建依赖版本与配置规则不匹配,导致JSON schema校验失败。
解决步骤
- 修正
angular.json配置位置
打开项目根目录的angular.json文件,找到inlineStyleLanguage所在的位置:
错误位置通常是在projects.【你的项目名】.architect.build.options节点下,直接删除该节点下的inlineStyleLanguage配置行即可。
该配置的正确放置位置是在projects.【你的项目名】.schematics.@schematics/angular:component节点下,示例如下:"schematics": { "@schematics/angular:component": { "style": "scss", "inlineStyleLanguage": "scss" } } - 统一Angular相关依赖版本
检查package.json中所有@angular/开头的依赖包、@angular-devkit/build-angular包的版本,确保所有包的大版本统一为12.x,避免跨版本兼容问题。
版本修正完成后执行以下命令重装依赖:rm -rf node_modules package-lock.json npm install - 兼容第三方构建器(若使用)
如果项目使用了非官方的自定义Angular构建器,需要将构建器升级到支持Angular 12的对应版本,适配新的配置校验规则。
验证
修改完成后重新执行ng build --prod,校验报错会消失。
内容的提问来源于stack exchange,提问作者minitrouble
相关产品推荐
相关产品推荐

