npm脚本nodemon – 监视js和scss文件的更改

我正在尝试设置一个开发环境,只使用NPM,而不使用grunt.js或bower.js。

我遵循这个教程: http : //beletsky.net/2015/04/npm-for-everything.html

我正在使用nodemon来监视我的.js和.scss文件,以查找重新启动节点服务器的更改。 所以在我的package.json文件中,我有脚本

脚本:

"watch-js": "nodemon -e js --watch public/js -x \"npm run build-js\"",

"watch-sass": "nodemon -e scss --watch public/sass -x \"npm run build-sass\"",

"watch": "npm run watch-js & npm run watch-sass"

但是当我运行npm run watch ,只能npm run watch public / js文件。 并且相应地触发构build。

但它不会注意到的文件。

版本: node v0.10.36 nodemon v1.4.1

我还包括一个构build脚本,如果我运行编译sass到CSS,所以我的build-sass脚本应该没问题

 "build": "npm run build-js & npm run build-sass", "watch": "npm run watch-js & npm run watch-sass" 

如果您使用Windows,您可能会遇到Windows问题

由于npm依赖于操作系统shell来运行脚本命令,因此它们很快就会变得不可移植。 虽然Linux,Solaris,BSD和Mac OSX预装了Bash作为默认shell,但Windows却没有。 在Windows上,npm将使用Windows命令提示符来处理这些事情

如果是这样,你可以尝试使用parallelshell或npm-run-all来获得更好的跨平台支持。

这在Mac OS中适用于我

  1. 安装nodemon

    npm install --save-dev nodemon

  2. 安装npm-run-all:

    npm install --save-dev npm-run-all

  3. 在package.json中添加两个脚本:

    "startn": "nodemon ./app.js", "watch-jscss": "gulp watch"

    • 其中“app.js”是您的服务器文件
    • “吞食手表”可以被任何正在做sass手表的任务取代
  4. 在控制台中:

    npm-run-all --parallel watch-jscss startn

尝试改变,

 "watch": "npm run watch-js & npm run watch-sass" 

 "watch": "npm run watch-js && npm run watch-sass"