更改文件时如何使用 nodemon 在 npm 脚本上重新启动多个服务器文件

Posted

技术标签:

【中文标题】更改文件时如何使用 nodemon 在 npm 脚本上重新启动多个服务器文件【英文标题】:How to restart multiple server files on npm script using nodemon when changing the files 【发布时间】:2017-05-23 21:29:32 【问题描述】:

当我更改文件夹上的文件时,我想在 npm 脚本中使用 nodemon 重新启动两个服务器文件

这是我的 npm 脚本

"scripts": 
"test": "echo \"Error: no test specified\" && exit 1",
"start": 
    "nodemon app/api/server.js && nodemon app/backend/server.js"
 ,

【问题讨论】:

【参考方案1】:

我终于通过使用并发插件

做到了

我的 npm 启动脚本将是

"start": "concurrently \"nodemon app/backend/server.js\" \"nodemon app/api/server.js\" "

【讨论】:

【参考方案2】:

您可以使用 nodemon 的配置文件 nodemon.json 指定additional settings。将此文件放在应用程序的根目录中。

nodemon.json


  "restartable": "rs",
  "ignore": [
    ".git",
    "node_modules/**/node_modules"
  ],
  "verbose": true,
  "watch": [
    "app/api/server.js", //list of files, you want to watch for changes
    "app/backend/server.js" 

    // "app/api/", if you want to watch for all files in sub directory
  ],
  "ext": "js json"

进行这些更改后,您的 package.json 应该看起来像

"scripts": 
"test": "echo \"Error: no test specified\" && exit 1",
"start": 
    "nodemon app/api/server.js" // file list was added in nodemon.json
 ,

【讨论】:

我在本地安装了nodemon。 nodemon 配置文件是否也在本地工作? 是的,它会的。 nodemon supports local and global configuration files. 更多here。但文件名必须是nodemon.json 当我更改后端文件夹或 api 文件夹中的任何文件时,它会重新启动 api 文件夹的 server.js 文件,但我也想重新启动后端文件夹的 server.js。 watch 键将仅监视正在更改的文件或指向正在重新启动的服务器文件? watch 将允许您设置要监视更改并重新启动服务器的文件列表。即使您想监视更改并重新启动后端文件夹,这仍然是文件更改。不是吗? nodemon 会将其作为正常的文件更改处理并重新启动 backendserver.js。在这种情况下它将重新启动 我还有一个疑问。您正在声明 nodemon.json 文件,但您没有在 package.json 文件中的任何地方提及。那会自动取 nodemon.json 吗?【参考方案3】:

这是您的start 脚本在package.json 文件中的外观:

"start": "nodemon app/api/server.js app/backend/server.js"

【讨论】:

以上是关于更改文件时如何使用 nodemon 在 npm 脚本上重新启动多个服务器文件的主要内容,如果未能解决你的问题,请参考以下文章

监视 nodemon js 或 npm 中的新文件创建事件

如何使用 Nodemon 监控符号链接模块?

Nodemon问题,一直挂着

npm 无法在 Windows 10 中安装 pm2 或 nodemon

如何使用 nodemon 进行 linting?

Nodemon 无法在 Docker 上使用 package.json 中的 npm 脚本