【问题标题】:npm scripts nodemon - watching js and scss files for changesnpm 脚本 nodemon - 监视 js 和 scss 文件的更改
【发布时间】:2015-11-14 15:04:40
【问题描述】:

我正在尝试将开发环境设置为仅使用 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 时,它只监视公共/js 文件的变化。它会相应地触发构建。

但它不会监视 sass 文件。

版本: node v0.10.36nodemon 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"

【问题讨论】:

  • 我已经尝试过设置它,它似乎可以正常工作。对于 js 和 sass,我将您的 -x 替换为 -x \"echo js file changed\",并且消息都按预期显示。所以看来nodemon 正在工作。也许问题出在您的build-sass 脚本中?
  • build-sass 脚本:"build-sass": "node-sass public/sass/main.scss public/build/main.css", 我还有一个使用 build sass 脚本的构建脚本,它工作正常
  • 当你说it won't watch for the sass files时,你的意思是sass文件没有被重建或者nodemon没有重新运行任务?
  • nodemon 根本没有运行任务的那部分(sass),但它确实监视 js 更改
  • 是的,我在 Windows 上!我将查看这些资源并更新此页面的进度。我感谢@Robbie 的贡献

标签: javascript node.js npm watch nodemon


【解决方案1】:

如果你使用的是windows,你可能会遇到the windows problem

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

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

【讨论】:

  • 太棒了!我安装了 parallelshell 并将我的脚本更改为具有以下结构: "watch": "parallelshell \"npm run watch-js\" \"npm run watch-sass\"" - 非常感谢@Robbie
【解决方案2】:

这适用于我在 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”可以被任何正在执行 sass watch 的任务替换
  4. 在控制台中:

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

【讨论】:

    猜你喜欢
    • 2020-09-30
    • 2018-06-03
    • 1970-01-01
    • 1970-01-01
    • 2015-01-24
    • 2019-12-24
    • 1970-01-01
    • 1970-01-01
    • 2021-12-12
    相关资源
    最近更新 更多