You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

执行npm run多脚本时gulp watch未运行的问题排查

问题解决:npm run watch 仅运行app.js,未执行gulp watch

你碰到的问题根源是node app.js属于阻塞式进程——Express的app.listen()会持续占用终端进程,导致后续的gulp watch完全没机会启动。下面给你两种可行的解决办法:

方法一:使用concurrently工具(推荐)

这是专门用来同时启动多个命令的工具,能清晰分隔两个进程的日志输出:

  1. 先安装依赖:
npm install concurrently --save-dev
  1. 修改package.json的scripts配置:
"scripts": {
  "start:app": "node app.js",
  "start:gulp": "gulp watch",
  "watch": "concurrently \"npm run start:app\" \"npm run start:gulp\""
}

现在执行npm run watch,两个进程会同时启动,各自的日志还会用不同颜色区分,方便后续排查问题。

方法二:不额外安装包(仅适用于Unix/Linux/macOS)

如果不想新增依赖,可以把node进程放到后台运行,同时重定向输出避免阻塞:

"scripts": {
  "watch": "node app.js & gulp watch"
}

但这种方式有明显缺陷:app.js的运行日志会被后台进程吞掉,无法查看状态;而且Windows系统不支持&语法,所以更推荐第一种方法。

额外验证步骤

先单独执行gulp watch,确认它本身能正常运行,排除gulp配置错误或依赖缺失的问题。

内容的提问来源于stack exchange,提问作者Devb

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.14 18:50:28