Nodemon - 排除文件

152

我想要从NodeMon的监视中排除一些特定的文件。我该如何做?

我的现有配置如下:

nodemon: {
      all: {
        script: 'app.js',
        options: {
          watchedExtensions: ['js']
        }
      }

我认为我应该编辑应用程序根目录中的.nodemon-ignore文件... - Ben Aston
4个回答

280

为了让NodeMon忽略一些文件的监视,您可以将其启动为

nodemon --ignore PATTERN [--ignore PATTERN2]

其中PATTERN是一个特定文件、目录或通配符模式的名称。确保如果您使用通配符,请对其进行转义。

例如:

nodemon --ignore 'lib/*.js' --ignore README

如果你想配置这个行为,可以尝试在当前工作目录或者主目录下创建一个nodemon.json文件。你可以通过向这个配置文件添加以下内容来忽略某些文件:


{   
    "ignore": ["lib/*.js", "README"] 
}

请参考位于https://github.com/remy/nodemon的README文件以获取更多细节信息。


3
对我没用,我需要使用没有单引号的路径:nodemon --ignore public/ build.js。这可能是由于 Windows 上的法语键盘布局导致的... - TOPKAT
对我来说不起作用。但我使用npx或npm脚本。也许这就是原因。 - yehonatan yehezkel
在 Windows 上,使用单引号进行引用不起作用,但双引号可以。 - Lorenz Meyer
@LorenzMeyer,在PowerShell上使用单引号似乎没问题,至少对于第一个变量而言。 - Gates
1
这对我在我的 package.json 中有效,因此只有在我对服务器进行更改时才会重新启动。 "scripts": { "start": "nodemon --ignore public/*" } - Michael Aaron Wilson

61
您可以在package.json文件中添加nodemon配置,例如:
{
  "name": "nlabel",
  "version": "0.0.1",
   // other regular stuff


  "nodemonConfig": {
    "ignore": ["public/data/*.json", "public/javascripts/*.js"]
  },


  "author": "@sziraqui",
  "license": "GPL-3.0"
}

关键字必须是“nodemonConfig”。忽略规则可以指定为glob或完整的文件名数组。

更多信息请参考:https://github.com/remy/nodemon#packagejson


2
无法让任何版本的--ignore正常工作,但这个方法可以。而且这是一个干净的解决方案。 - J.G.Sebring
我可以在终端上获取哪些文件/文件夹被排除在nodemon中的信息吗?我刚刚看到了Nico的答案,应该会有帮助。 - Timo
@Timo 找不到适用于您的用例的任何nodemon配置。 您可以使用ls 'your exlusions' && nodemon app.js(不跨平台)。 如果您愿意为此编写代码,可以侦听nodemon“start”或“restart”事件,并通过读取nodemon配置并扩展“ignore”数组中的glob模式来打印排除的文件。 - sziraqui

13

对我来说(Mac 和 nodemon 1.18.3),忽略整个目录的唯一方法是运行例如:

nodemon --ignore "**/old/**"

由于双引号和星号的存在,配置文件无法工作。

我已经设置了一个类似这样的别名:

alias nm='nodemon server.js -i "**/old/**" -i "**/img/**"'

通过运行命令,检查哪些文件正在被监视

DEBUG=nodemon:watch nodemon server.js -i "**/old/**" -i "**/img/**"

-i是--ignore的一种替代方法。使用nodemon --help查看可用参数。


5
如果像我一样什么都不起作用,就按照我的说明操作。
不要在路径周围使用''(例如'login.json'是错误的)。
并且CTRL + S不足以,你需要关闭终端,并再次使用命令npm run devStart,如果想让更改生效,必须这样做。
  "scripts": {
    "devStart": "nodemon server.js --ignore login.json"
  },

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接