如何在Windows上使用单个NPM命令运行多个NPM命令

时间:2019-05-16 18:17:46

标签: javascript node.js browser-sync nodemon node-sass

我正在设置一个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 个答案:

答案 0 :(得分:1)

这是我使用的: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,这对我来说都很好。尝试一下,希望对您有所帮助。