使用npm install命令创建.bat文件


79

我创建了以下文件

//npminstall.bat

npm install
echo hello

当我从Windows 10命令行(dos)运行以下命令时npminstall.bat,该npm install命令会触发,但echo hello不会触发。我试图像这样在第一行之后加上半彩色npm install;,但是所做的只是给我npm的帮助说明。

我如何在第二行echo hello后触发npm install

补充说明

我发现这也会导致相同的行为:

//npminstall.bat

webpack
echo hello

我认为这是因为npm install命令和webpack命令都需要时间来执行,并且在这段时间内确实发生了一些我不希望出现在第二行的事情。

后续行动2

//npminstall.bat

START /WAIT npm install
echo hello

这似乎几乎可以完成我想做的事情。除了npm install命令会导致一个弹出窗口,而且我必须先关闭弹出窗口,然后它才能继续执行以回应hello world。我可以摆脱弹出窗口吗?

Answers:


176

当您从一个批处理文件访问另一个批处理文件时,您需要使用CALL命令将控制权返回给父进程,否则控制权将传递给正在执行的批处理文件。

call npm install

1
你是救星!我正在尝试在jenkins上构建angular脚本,直到我添加了'call'之后,脚本才在npm install之前实现。
拉尔夫·里托奇

这允许脚本运行,但是批处理文件将不再检测错误。因此,如果某些事情(例如npm build)中断了,则批处理文件将继续。这个问题有解决方案吗?
松饼

2
我注意到呼叫npm也会关闭回声。我不得不跟随来解决此call npm install@echo on
威克
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.