Angular 14变量声明初始化报错:Expected identifier but found =
Angular构建报错
ERROR: Expected identifier but found "="的原因及解决方法 问题原因
- 核心原因大概率是新建项目时误选了JavaScript作为开发语言,生成的组件文件为
.js后缀。JavaScript不支持TypeScript的类型注解(如:string),当你在.js文件中写myVar:string = "myStr";这类TS语法时,JS解析器会将:string后的=识别为非法语法,触发该报错。 - 次要可能:新建项目的
tsconfig.json配置与旧项目不一致,比如compilerOptions.target被设为过低版本(如ES5),或angularCompilerOptions中启用了特殊严格检查规则;不过你提到同依赖旧项目正常,这种情况概率较低。
恢复原有写法的解决步骤
- 检查组件文件后缀:确认所有组件文件都是
.ts后缀,若为.js,直接重命名为.ts即可保留原TS写法。 - 同步tsconfig配置:
- 打开新建项目的
tsconfig.json,确保compilerOptions.target值为es2020,与旧项目一致; - 检查
compilerOptions.lib数组包含["es2020", "dom"]等必要库; - 对比旧项目的
angularCompilerOptions,移除或调整可能导致语法报错的配置项;
- 打开新建项目的
- 重新生成组件(可选):如果是项目初始化时选错语言,可通过CLI命令重新生成TS组件:
ng generate component your-component-name --type=ts
内容的提问来源于stack exchange,提问作者Stuart Shepherd
相关产品推荐
相关产品推荐

