Angular v10应用编译报错TS5023:未知编译器选项strictTemplates
Angular v10编译报TS5023未知
strictTemplates选项的解决方法 错误核心原因
strictTemplates是Angular编译器专属的严格模板校验配置,不属于TypeScript原生编译选项:
- 该功能从Angular 11版本才正式推出,你当前使用的Angular v10版本自带的
@angular/compiler-cli没有对应的识别逻辑,无法解析这个配置,因此直接抛出TS5023未知编译选项错误。 - 就算是在支持该配置的新版Angular项目中,
strictTemplates也不能直接写在tsconfig的compilerOptions节点下——这个节点下的配置全是TypeScript原生编译器识别的参数,放入Angular专属配置同样会触发同类报错。
具体操作步骤
- 直接打开报错提示指向的
tsconfig.json文件,定位到行14位置的"strictTemplates": true配置,因为v10版本不支持该功能,直接删除这一行即可清除当前编译报错。提示:这个配置一般不是v10版本项目默认生成的,通常是从高版本Angular项目拷贝配置、或者用新版Angular CLI做自动迁移时带过来的遗留配置。
- 删除后如果仍报相同错误,需要逐层排查项目内所有关联的tsconfig文件(比如
src/tsconfig.app.json、src/tsconfig.spec.json),把所有写在compilerOptions节点下的strictTemplates配置全部删除。 - 如果后续需要使用严格模板校验能力,满足两个前提即可正常启用:
- 将项目整体升级到Angular 11及以上版本,确保本地安装的
@angular/compiler-cli版本与项目Angular版本匹配 - 将
strictTemplates配置放在与compilerOptions同级的angularCompilerOptions节点下,正确的配置结构示例:{ "compilerOptions": { // 其他TypeScript原生编译配置 }, "angularCompilerOptions": { "strictTemplates": true } }
- 将项目整体升级到Angular 11及以上版本,确保本地安装的
内容的提问来源于stack exchange,提问作者andymel
相关产品推荐
相关产品推荐

