Angular 6创建嵌套组件报错:JSON位置1122含意外符号/
我之前也碰到过类似的Angular CLI报错问题,你遇到的这个Unexpected token / in JSON at position 1122错误,大概率是项目里的核心配置文件出了语法问题,咱们一步步来排查解决:
检查
angular.json的语法正确性
Angular 6使用angular.json作为CLI的核心配置文件,一旦这个文件里出现JSON语法错误(比如多余的斜杠、未转义的字符、不匹配的括号,或者是JSON不支持的注释),CLI执行命令时就会抛出解析错误。- 你可以直接打开项目根目录下的
angular.json,定位到第1122行附近,检查是不是有意外的/字符; - 也可以用VS Code这类编辑器的内置JSON校验功能,快速定位语法问题。
- 你可以直接打开项目根目录下的
回到项目根目录执行组件创建命令
有时候手动进入子目录执行CLI命令,可能会出现路径解析的异常。你可以回到项目根目录(也就是c:/users/admin/project/test/),直接执行带完整相对路径的创建命令:ng g component content/product/advisory这样CLI会自动把组件创建到
src/app/content/product/advisory目录下,同时自动更新angular.json里的组件声明,避免路径相关的问题。清理Angular CLI缓存
如果配置文件没问题,可能是CLI的缓存导致的解析异常。你可以执行以下命令清理缓存:ng cache clean清理完成后再重新尝试创建组件。
确认Angular CLI版本兼容性
Angular 6对应的CLI版本应该是6.x系列,如果你的CLI版本太高或太低,可能会出现兼容性问题。你可以执行以下命令查看当前版本:ng --version如果版本不匹配,建议安装对应版本的CLI:
npm install @angular/cli@6.x -g
如果以上方法都没解决问题,你可以把angular.json第1122行附近的代码片段贴出来,这样能更精准地定位问题所在。
内容的提问来源于stack exchange,提问作者vedika shrivas

