主 npm 脚本失败后如何运行 npm 脚本?

Oli*_*ver 4 npm npm-scripts

我的主要 npm 脚本是“npm run build”。

我想要做的是编写另一个脚本,每当“npm run build”失败时,该脚本就会像异常处理中的 catch 一样执行。

Rob*_*obC 6

您可以在 npm 脚本中使用OR 运算符( )。||两者都支持它shcmd.exe因此它可以跨平台工作。

请考虑package.jsonscripts部分中的以下示例:

"scripts": {
  "build": "<your build script here> || npm run fallback",
  "fallback": "echo \"Oops! Running another script....\""
},
Run Code Online (Sandbox Code Playgroud)

解释:

  1. 您当前的构建脚本命令应替换脚本<your build script here>中的部分build
  2. fallback仅当操作符左侧的构建命令||以非零退出状态退出(即失败)时,该脚本才会运行。
  3. 当构建脚本命令成功退出(即退出代码为零)时,运算符npm run fallback右侧的部分||永远不会被调用。
  4. 脚本"echo \"Oops! Running another script....\""fallback的 应该替换为失败时要执行的命令build

上面的示例使用了另一个脚本,其名称fallback主要用于解释目的,但是您可以只有一个build脚本,例如:

"scripts": {
  "build": "<your build script here> || echo \"Oops! Running another script...\""
},
Run Code Online (Sandbox Code Playgroud)