Как запустить несколько команд NPM с помощью одной команды NPM в Windows? - PullRequest
0 голосов
/ 16 мая 2019

Я устанавливаю файл package.json, который запускает Nodemon, запускаю мою команду watch css и запускаю синхронизацию браузера с помощью команды «npm start».

Это работает на моем компьютере Mac вработает, но не работает на моем компьютере с Windows дома.

На моем Mac он будет прослушивать любые изменения в файлах сервера и SCSS, а также запускать синхронизацию браузера.

В Windowsон только запускает Nodemon и просто ждет каких-либо изменений на сервере.Похоже, он игнорирует мои две другие команды.

Нужно ли делать что-то другое для Windows?В идеале я хотел бы, чтобы код работал универсально на обеих платформах.

Кажется, здесь проблема с Nodemon, потому что watch-css css и browsersync работают, но что-то после nodemon не работает.

"scripts": {
  "build-css": "node-sass --output-style compressed --source-map true -o public/css scss",
  "watch-css": "nodemon -e scss -x \"npm run build-css\"",
  "build-js": "browserify js/app.js -o public/js/app.js",
  "browser-sync": "browser-sync start --port 4000 --proxy 'localhost:3000' --files 'views/*' 'public/**/*' --no-notify",
  "start": "nodemon ./bin/www & npm run watch-css & npm run browser-sync"
},

1 Ответ

1 голос
/ 16 мая 2019

Вот что я использую: npm-run-all (это кроссплатформенный).Они позволяют вам запускать процессы / команды параллельно и последовательно (-p или -s).

"scripts": {
    "build-css": "node-sass-chokidar src/ -o src/ --importer=node_modules/node-sass-tilde-importer",
    "watch-css": "npm run build-css && node-sass-chokidar src/ -o src/ --watch --recursive",
    "start-js": "react-scripts start",
    "start": "npm-run-all -p watch-css start-js",
    // ... and much more
}

Это нормально работает для меня как в Windows, так и в Mac.Попробуйте, надеюсь, это полезно.

...