我如何告诉nodemon忽略除一个目录之外的所有node_模块
我正在开发一个Node.js服务器,我使用nodemon在源代码更改时重新启动服务器 这个服务器依赖于另一个模块,我也在开发这个模块,所以如果对该模块的更改也重新启动服务器,那就太好了 迄今为止最好的尝试(谢谢,比特漫游者!) 如果有人想查看,我做了一次回购,用最少的代码重现这个问题: 突出显示在我如何告诉nodemon忽略除一个目录之外的所有node_模块,nodemon,Nodemon,我正在开发一个Node.js服务器,我使用nodemon在源代码更改时重新启动服务器 这个服务器依赖于另一个模块,我也在开发这个模块,所以如果对该模块的更改也重新启动服务器,那就太好了 迄今为止最好的尝试(谢谢,比特漫游者!) 如果有人想查看,我做了一次回购,用最少的代码重现这个问题: 突出显示在nodemon.json中: { "ignoreRoot": [ ".git", ".nyc_output", ".sass-cache", "bower-compo
nodemon.json
中:
{
"ignoreRoot": [
".git",
".nyc_output",
".sass-cache",
"bower-components",
"coverage"
],
"ignore": [
"node_modules/!(is-node)",
"node_modules/is-node/node_modules"
]
}
与相同,但没有ignoreRoot
node\u模块
是我试图告诉它忽略node\u模块的地方,但不是ignore
是node
- 我使用的是nodemon的最新版本,1.11.0
- 我也试过了
/\.git|\.nyc_output|\.sass\-cache|bower\-components|coverage|node_modules\/!\(is\-node\)\/.*.*\/.*|node_modules\/is\-node\/node_modules\/.*.*\/.*/
注意否定字符
代码>最终成为文字结果正则表达式中的代码>。由于控制字符被转换为文字字符,所以使用否定先行语法也不起作用。由于nodemon
使用minimatch
进行匹配,您应该能够对符号使用否定代码>,根据
因此,在您的情况下,请尝试:
{
"ignore" : "node_modules/!(my-watched-module)/**/*"
}
这应该忽略所有模块文件,除了my wasted module
注意:此处的忽略规则仅针对文件,而不是目录。这种行为在nodemon
的上下文中是有意义的,因为它监视文件更改
应该但不应该。在我最近的一次尝试中,我在nodemon.json中使用了以下内容:{“ignoreRoot:[”.git“,“.nyc_output”,“.sass cache”,“bower components”,“coverage”],“ignore:[“node_modules/!(我关注的模块)”,“node_modules/my关注的模块/node_modules”]
它正确地监视了我关注的模块,而没有监视我关注的模块的节点,但它仍在监视其他节点模块…我编辑了我的问题,并链接到了一个repo,如果你感兴趣的话,它会重现这个问题。这很奇怪,因为ignoreRoot
显然是黑名单目录…欢迎!是的,我同意e、 如果将忽略
应用于目录,会更直观。但是,嘿,至少你可以自由地分叉并添加该功能该死,这在非简化环境中不起作用。当我设法重现实际问题时,我会再次发布