我可以在1个终端中运行两个正在进行的npm命令

The*_*ded 4 node.js npm nodemon webpack npm-scripts

我的npm脚本中有这两个命令

"scripts": {
"webpack": "webpack --config webpack.config.js --watch",
"server": "nodemon server.js",
}
Run Code Online (Sandbox Code Playgroud)

正如您所看到的,每次保存文件时都会运行webpack,而只使用nodemon运行服务器,因此每次保存文件时都不必输入"npm start"或类似的内容.

现在这个工作正常,但我需要2个终端打开它来运行它,它在我的屏幕上有点拥挤.

我不能像这样读一个命令:

"start": "npm run webpack && npm run server"
Run Code Online (Sandbox Code Playgroud)

因为webpack命令正在进行,并且永远不会到达第二个命令.

有没有办法在1个终端中使用这两个命令,这是否可取?

Mic*_*ngo 8

您可以在后台运行一个进程&(一个&符号,而不是两个),但这需要您手动管理它,这将是相当繁琐的.有关详细信息,请参阅shell脚本行末尾的&符号是什么意思?.

对于那个构建的用例concurrently,这使得并行运行流程并跟踪其输出变得简单.

npm install --save-dev concurrently
Run Code Online (Sandbox Code Playgroud)

你的start脚本变成了:

"start": "concurrently 'npm run webpack' 'npm run server'"
Run Code Online (Sandbox Code Playgroud)

如果你想让输出变得更漂亮,你可以给出进程名称-n和颜色-c,例如:

"start": "concurrently -n 'webpack,server' -c 'bgBlue.bold,bgGreen.bold' 'npm run webpack' 'npm run server'"
Run Code Online (Sandbox Code Playgroud)