npm脚本nodemon - 观看js和scss文件的更改

时间:2015-08-20 20:00:21

标签: javascript node.js npm watch nodemon

我正在尝试设置开发环境以仅使用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时,它只会监视要更改的public / js文件。它会相应地触发构建。

但它不会注意sass文件。

版本: node v0.10.36 nodemon v1.4.1

我还包含一个构建脚本,如果我运行编译sass到css,那么我的build-sass脚本应该没问题

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

3 个答案:

答案 0 :(得分:4)

如果您使用的是Windows,则可能会遇到the windows problem

  

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

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

答案 1 :(得分:1)

这适用于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'是你的服务器文件
    • " gulp watch"可以用任何正在做手表的任务取代
  4. 在控制台中:

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

答案 2 :(得分:-3)

尝试改变,

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

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