Angular项目执行yarn serve命令报错Exit Code 1求助
yarn serve执行时"未找到项目定义"的错误 先看看你执行yarn serve时的完整错误输出:
yarn run v1.17.3 $ concurrently "ng serve" "server/node_modules/.bin/ts-node-dev server/server.ts" [0] The serve command requires to be run in an Angular project, but a project definition could not be found. [0] ng serve exited with code 1 [1] Using ts-node version 8.3.0, typescript version 3.6.2 [1] hello [1] server/node_modules/.bin/ts-node-dev server/server.ts exited with code 0 error Command failed with exit code 1. info Visit https://yarnpkg.com/en/docs/cli/run for documentation about this command.
核心问题很明确:ng serve命令没有找到Angular项目的配置文件,所以无法启动Angular开发服务器,进而导致整个yarn serve命令失败(虽然你的后端服务启动成功了)。
给你几个针对性的解决步骤:
确认当前工作目录是否正确
先在控制台运行pwd(Linux/macOS)或者cd(Windows)查看你当前的路径。ng serve必须在Angular项目的根目录下执行——也就是包含angular.json、package.json这些核心配置文件的目录。如果cd/project只是项目的父目录,实际Angular项目在它的子文件夹里(比如cd/project/my-angular-app),那你得先切换到这个子目录再执行命令。检查Angular配置文件是否存在
在当前目录下找一找有没有angular.json(Angular 6及以上版本用这个)或者.angular-cli.json(Angular 5及更早版本的配置文件)。如果这些文件缺失,要么是你误删了,要么是这个目录根本就不是一个Angular项目。如果是误删,优先从版本控制(比如Git)恢复;如果是新项目还没初始化,那就运行ng new创建一个新的Angular项目。检查
package.json的脚本配置
打开项目根目录的package.json,看看scripts里的serve命令是不是像你现在这样配置的。如果你的Angular项目和后端服务不在同一个根目录,你需要给ng serve指定项目路径,比如改成concurrently "ng serve --project ./path-to-angular-app" "server/node_modules/.bin/ts-node-dev server/server.ts",确保ng serve能找到正确的项目配置。
内容的提问来源于stack exchange,提问作者Beyza Çavuşoğlu

