如何用 npm 同时执行两条监听命令

如下所示:

/package.json

"start": "json-server mock/db.json --port 3003 && node server.js",

其中
json-server mock/ db.json 命令使用3003端口运行
node server.js 命令使用3000端口运行

这两个都是监听类型的,使用 && 链接的话,会停留在第一个命令执行监听,第二个命令就得不到执行。现在只能打开两个命令行窗口分别执行这两个命令,有没什么办法能一句执行这两个命令?

阅读 19k
8 个回答

concurrent 模块可以

使用 concurrently 即可。

需要安装 concurrently npm install -g concurrently

package.json的 scripts:

"command1":"hahaha",
"command2":"xixixi",
"test":"concurrently \"npm run command1\" \"npm run command2\""

然后 npm test就可以同时监听hahahaxixixi

PS:我也是遇到相同的问题,感谢楼上两位给的答案
参考:http://npm.taobao.org/package...

知道了,只需要用一个&连接就行了。

新手上路,请多包涵

经过个人验证,使用 |连接,可以开启两条监听命令

    "mockServer": "node ./mockServer/bin/www",
    "devServer": "webpack-dev-server --hot --progress --mode development --config webpack.config.js",
    "dev": "npm run mockServer | npm run devServer",

是可以实现的,把他们放到后台运行就好了 下面的内容是放在package.jsonscript标签里面

"mock_server": "json-server mock/db.json --port 3003 &",
"server": "node server.js &",
"start": "npm run mock_server && npm run server" 

你通过npm start就可以启动两个server了,监听两个端口了,不会再出现你说的第一个监听服务起来了,第二个起不来的情况了。
这样就可以同时执行两条监听命令了,希望对你有帮助。

使用&连接就是平行执行的

请问题主解决了吗啊?最终怎么解决的?我按照taozhi8833998的方法写的不行啊,还是只运行第一条,我的两条命令都是监控文件变化的

clipboard.png

新手上路,请多包涵

clipboard.png

@taozhi8833998 按照上面的方法配置,还是不能同时启动

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题
宣传栏