在 nodemon 中跟踪 yaml 文件的变化

Track yaml file changes in nodemon

在 yaml 文件更改后,Nodemon 不会重新加载。 如何配置 nodemon 以在 yaml 文件更改时重新加载服务器?

使用-e选项可以监听大部分文件扩展名的变化。 正如评论中指出的那样,--ext 是 shorthand。

nodemon -e .yaml index.js

您可以配置 nodemon 以通过两种方式查看您的 yaml 文件:

  1. 通过扩展
  2. 文件路径

通过扩展

documentation 指出:

By default, nodemon looks for files with the .js, .mjs, .coffee, .litcoffee, and .json extensions.

You can specify your own list with the -e (or --ext) switch

像这样:

nodemon -e yaml server.js

注意:扩展名.yaml前的点不是必须的,可以省略。

现在,当任何 .yaml 文件更改时,您的服务器将重新启动。


带文件路径

您可以使用标志 -w(或 --watch

wiki 说:

Watch directory "dir" or files. use once for each directory or file to watch.

像这样:

nodemon -w file1.yaml -w file2.yaml server.js

您会看到类似

的内容
[nodemon] watching: file1.yaml file2.yaml

现在,当这两个文件中的一个发生更改时,它将重新启动,但如果未指定,则不会监视另一个 .yaml 文件。

如果您想要 watch/track 多种文件类型,例如 .ts 和 .yaml,请执行此操作

nodemon -e ts -e yaml

这不仅会监视 typescript 文件的更改,还会监视 yaml 文件的更改。

如果您编译的版本包含 yaml 文件 你必须忽略来自 nodemon 的文件才能观看,否则它会无限期地进入编译和观看相同文件的循环,所以使用这个

nodemon -e ts -e yaml --ignore build/ 考虑到 build 是编译的打字稿文件和其他文件所在的目录(与 package.json 文件所在的目录相同)。

根据 documentation,

默认情况下,nodemon 查找具有 .js.mjs.coffee.litcoffee.json 扩展名的文件。但是,您可以使用 -e(或 --ext)开关指定您自己的列表,如下所示:

nodemon -e js,pug

现在 nodemon 将在对扩展名为 .js、.pug 的目录(或子目录)中的文件进行任何更改时重新启动。

nodemon 也可以使用配置文件进行配置。

创建一个名为 nodemon.json 的文件并将其放在项目的根目录中,例如项目的 package.json 文件已经存在。

如果您想将 .yaml 添加到观看的默认扩展程序中,请将此代码放入您的 nodemon.json

{
  "ext": ".js, .mjs, .coffee, .litcoffee, .json, .yaml"
}