You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何让nodemon在同一进程中运行服务器并重新编译SCSS?

当然可以搞定!你不用再开两个终端来回折腾啦,下面给你几个实用的方案,把服务器监听和SCSS自动编译的任务整合到一个窗口里运行:

方案1:用并行脚本工具(推荐)

这种方式能让两个任务独立运行:服务器文件变更时重启服务器,SCSS文件变更时只编译CSS,互不干扰,而且日志还能清晰区分。

方法A:使用concurrently

  1. 先安装依赖:
npm install concurrently --save-dev
  1. 修改你的package.json脚本:
"scripts": {
  "watch": "nodemon ./bin/www",
  "watch-css": "node-sass -w scss -o public/css",
  "dev": "concurrently --names \"SERVER,CSS\" --prefix-colors \"blue,green\" \"npm run watch\" \"npm run watch-css\""
}
  1. 运行命令:
npm run dev

这样终端会用不同颜色分别显示服务器和CSS编译的日志,一目了然,而且关闭终端时所有子进程会被自动终止,不会留下残留进程。

方法B:使用npm-run-all

如果更习惯用npm官方生态的工具,可以用npm-run-all:

  1. 安装依赖:
npm install npm-run-all --save-dev
  1. 修改脚本:
"scripts": {
  "watch": "nodemon ./bin/www",
  "watch-css": "node-sass -w scss -o public/css",
  "dev": "run-p watch watch-css"
}
  1. 运行npm run dev即可,run-p是run parallel的缩写,意思是并行运行指定的脚本。

方案2:让nodemon兼顾编译与重启(适合简单场景)

如果你不在乎SCSS变更时服务器也跟着重启,可以让nodemon同时监听JS和SCSS文件,每次文件变更时先编译CSS再启动服务器:

  1. 可以直接修改package.json的脚本:
"scripts": {
  "dev": "nodemon --watch ./bin/www --watch scss --ext js,scss --exec \"node-sass scss -o public/css && node ./bin/www\""
}

或者创建nodemon.json配置文件:

{
  "watch": ["./bin/www", "scss/"],
  "ext": "js,scss",
  "exec": "node-sass scss -o public/css && node ./bin/www"
}

然后脚本改成:

"scripts": {
  "dev": "nodemon"
}
  1. 运行npm run dev即可。

注意:这个方案的缺点是,哪怕只是修改了SCSS文件,服务器也会重启一次,如果你觉得这种重启没必要,还是优先选方案1。

内容的提问来源于stack exchange,提问作者alexcs

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.05.20 12:09:14