Angular5+Node.js+MongoDB项目启动报错:无法找到.angular-cli.json
解决Angular5 + Node.js项目中
ng build找不到.angular-cli.json的问题 你遇到的问题核心很明确:ng build命令默认会在当前工作目录下查找Angular的配置文件,但你的Angular代码放在子目录里,导致CLI找不到.angular-cli.json才抛出错误。直接把Angular和Node代码混在同一目录虽然能临时解决,但这种方式会让项目结构变得杂乱,不利于后续维护,下面给你几个更合理的解决方案:
方案1:切换到Angular子目录执行构建
修改根目录下package.json的start脚本,先切换到Angular代码所在的子目录(假设子目录名为angular-client),执行完构建后再回到根目录启动Node服务:
"start": "cd angular-client && ng build && cd .. && node server.js"
这样ng build就能在正确的目录下找到.angular-cli.json了。
方案2:直接指定配置文件路径
如果不想切换目录,可以用ng build的--project参数直接指定.angular-cli.json的路径,脚本修改如下:
"start": "ng build --project ./angular-client/.angular-cli.json && node server.js"
这个方法更简洁,无需切换目录就能让CLI定位到配置文件。
方案3:拆分脚本优化项目流程(推荐)
为了让项目脚本更清晰,方便单独调试,建议把构建和启动服务的命令拆分开:
"scripts": { "build:angular": "cd angular-client && ng build", "start:server": "node server.js", "start": "npm run build:angular && npm run start:server" }
这样你可以单独执行npm run build:angular测试Angular构建是否正常,或者npm run start:server单独启动Node服务,排查问题时更灵活。
另外提一句:Angular5确实使用.angular-cli.json作为配置文件,如果你后续升级Angular版本,可能会换成angular.json,但当前版本用上面的方案完全没问题。
内容的提问来源于stack exchange,提问作者Sta-Dev
相关产品推荐
相关产品推荐

