如何在同一终端同时运行Angular 5与WordPress项目?
同一终端同时启动WordPress和Angular应用的方案
当然可以!在同一终端窗口同时运行这两个应用完全没问题,我给你推荐几个实用的方法,按推荐程度排序:
1. 使用concurrently工具(最推荐)
这是Node生态里专门用来同时运行多个命令的工具,日志会用不同颜色区分,管理起来很方便。
步骤如下:
首先在项目根目录安装依赖:
npm install concurrently --save-dev打开根目录的
package.json,在scripts字段里添加三个命令:"scripts": { "start:wp": "node index.js", "start:angular": "cd ./你的Angular子目录名称 && ng serve", "start": "concurrently \"npm run start:wp\" \"npm run start:angular\"" }注意把
./你的Angular子目录名称换成实际的子目录路径,如果Angular项目需要指定端口,也可以改成ng serve --port=4201避免冲突。之后只需要在根终端执行:
npm start两个应用就会同时启动,你能清晰看到各自的输出日志,而且如果想停止,按
Ctrl+C就能同时终止两个进程。进阶技巧:可以加上
--kill-others-on-fail参数,这样如果其中一个应用崩溃,另一个也会自动停止,方便调试:"start": "concurrently --kill-others-on-fail \"npm run start:wp\" \"npm run start:angular\""
2. 用Shell/Batch脚本(适合特定系统)
如果不想额外安装依赖,可以写个简单的脚本:
针对Mac/Linux用户
在根目录创建start-all.sh文件,内容如下:
#!/bin/bash # 启动WordPress后台运行 node index.js & # 切换到Angular子目录并启动 cd ./你的Angular子目录名称 && ng serve & # 等待所有后台进程 wait
然后给脚本赋予执行权限:
chmod +x start-all.sh
执行脚本即可同时启动:
./start-all.sh
针对Windows用户
在根目录创建start-all.bat文件,内容如下:
:: 启动WordPress,新开窗口显示日志 start "WordPress" node index.js :: 切换到Angular子目录并启动,新开窗口显示日志 start "Angular" cmd /k "cd 你的Angular子目录名称 && ng serve"
双击这个批处理文件,或者在终端里运行start-all.bat就能同时启动两个应用。
3. 直接用终端命令串联(不推荐)
可以用&让第一个进程后台运行,然后执行第二个命令:
node index.js & cd ./你的Angular子目录名称 && ng serve
但这个方法有个明显缺点:两个应用的日志会混在一起,很难区分;而且如果其中一个进程异常退出,另一个可能还在后台运行,不好管理,所以只适合临时测试用。
内容的提问来源于stack exchange,提问作者kirby
相关产品推荐
相关产品推荐

