Вы можете использовать оператор ИЛИ (||
) в сценарии npm.Он поддерживается как sh
, так и cmd.exe
, поэтому он работает кроссплатформенно.
Рассмотрим следующий пример в разделе *1009* package.json :
"scripts": {
"build": "<your build script here> || npm run fallback",
"fallback": "echo \"Oops! Running another script....\""
},
Объяснение:
- Ваша текущая команда сценария сборки должна заменить часть
<your build script here>
в сценарии build
. fallback
скрипт будет запускаться только в том случае, если ваша команда сборки в левой части оператора ||
завершает работу с ненулевым статусом выхода (т. е. в случае сбоя). - Когда ваша команда скрипта сборки завершается успешно (т.е. снулевой код выхода) часть
npm run fallback
справа от оператора ||
никогда не вызывается. "echo \"Oops! Running another script....\""
в сценарии fallback
следует заменить командой (ами), которыевы хотите выполнить при сбое build
.
В приведенном выше примере используется другой скрипт с именем fallback
, в основном для пояснительных целей, однако у вас может быть только один скрипт build
, например:
"scripts": {
"build": "<your build script here> || echo \"Oops! Running another script...\""
},