Запуск параллельных скриптов npm на windows

В моем package.json есть параллельный скрипт npm, который работает на Mac, но не на Windows:

"myScript": "nodemon ./server.js & cross-env NODE_ENV=development webpack-dev-server"

Когда он разделен на два сценария для отдельного запуска, он отлично работает как на Mac, так и на Windows:

"myScript1": "cross-env NODE_ENV=development webpack-dev-server",
"myScript2": "nodemon ./server.js",

Я хотел бы сохранить параллельный скрипт, чтобы мне не пришлось запускать оба по отдельности. Как мне заставить это работать на окнах?

1 ответ

Решение

У меня есть обходной путь для этого, используя модуль одновременно. Таким образом, ваш сценарий будет выглядеть примерно так:

scripts: {
  "myScript": "concurrently \"npm run myScript1\" \"npm run myScript2\"",
  "myScript1": "cross-env NODE_ENV=development webpack-dev-server",
  "myScript2": "nodemon ./server.js",
}

Я рекомендую использовать npm-run-all, я думаю, что синтаксис немного чище:

scripts: {
  "myScript": "run-p myScript1 myScript2",
  "myScript1": "cross-env NODE_ENV=development webpack-dev-server",
  "myScript2": "nodemon ./server.js",
}

Этот пакет npm-run-all предоставляет 3 команды CLI.

  • npm-run-all
  • Run-s
  • Run-p

Основная команда - npm-run-all. Мы можем строить сложные планы с помощью команды npm-run-all.

И run-s, и run-p - это сокращенные команды.
run-s для последовательного, run-p для параллельного. С помощью этих команд мы можем строить простые планы.

Другие вопросы по тегам