Как запустить скрипт npm после сбоя основного скрипта npm? - PullRequest
1 голос
/ 20 июня 2019

Мой основной скрипт npm - "npm run build".

Что я хочу сделать, так это написать еще один скрипт, который будет выполняться как перехват в обработке исключений всякий раз, когда «npm run build» завершается неудачей.

1 Ответ

2 голосов
/ 20 июня 2019

Вы можете использовать оператор ИЛИ (||) в сценарии npm.Он поддерживается как sh, так и cmd.exe, поэтому он работает кроссплатформенно.

Рассмотрим следующий пример в разделе *1009* package.json :

"scripts": {
  "build": "<your build script here> || npm run fallback",
  "fallback": "echo \"Oops! Running another script....\""
},

Объяснение:

  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...\""
},
...