nodemon 忽略目录
Posted
技术标签:
【中文标题】nodemon 忽略目录【英文标题】:nodemon ignore directory 【发布时间】:2017-06-14 06:19:06 【问题描述】:在通用 javascript 应用程序中,我希望 nodemon 忽略客户端目录更改。
我尝试了以下方法:
"devStart": "nodemon server/server.js --ignore 'client/*' --exec babel-node",
"devStart": "nodemon server/server.js --ignore 'client/' --exec babel-node",
"devStart": "nodemon server/server.js --ignore client/ --exec babel-node",
"devStart": "nodemon --ignore 'client/*' server/server.js --exec babel-node",
"devStart": "nodemon --ignore 'client/' server/server.js --exec babel-node",
"devStart": "nodemon --ignore client/ server/server.js --exec babel-node",
这些都不起作用。
文件结构:
+-server
+-client
+-package.json <------- where nodemon script is
但是这不起作用。很确定这是一个模式问题。
有什么想法吗?
【问题讨论】:
我建议将您的 nodemon 配置存储在nodemon.json
文件中。会让它更干净。
@Aᴍɪʀ 感谢您的提示。对实际问题的任何提示?
很确定它只是通往客户端的路径 - 应该是 ./client/*
或 client/*
你可以尝试不使用'
标记并使用.
代替..
:'./client/*'
并且不使用*
?
@Aᴍɪʀ 编辑的package.json
实际上与server
和client
在同一目录中
【参考方案1】:
您需要将..
替换为.
,或者直接引用client/
,还需要去掉星号:
"devStart": "nodemon --ignore ./client/ --exec babel-node src/server.js"
或者
"devStart": "nodemon --ignore client/ --exec babel-node src/server.js"
根据 nodemon 文档,这是如何通过命令行忽略目录:
nodemon --ignore lib/ --ignore tests/
还要注意nodemon只会重启node进程,如果你改变npm脚本你需要杀死进程并重新运行npm run devStart
【讨论】:
已编辑我的package.json
实际上与client
和src
位于同一目录中
已更新答案以删除星号 - nodemon 文档说要遵循此模式:nodemon --ignore lib/ --ignore tests/
好的,知道了。我期待服务器重新加载实际上重新加载 devStart 脚本。结果我不得不终止进程并再次运行npm run devStart
。如果您可以更新您的答案以反映这一点,我会接受它。 @hackerrdave
我不得不删除client/
周围的引号
删除引号对我有用:nodemon --ignore client src/server.js
【参考方案2】:
如果您很可能在配置文件中使用nodemon
,您可以为这些文件创建一个单独的配置条目以被忽略。奖励,一个看起来更干净的nodemon
调用,尤其是当要忽略的文件变大时。
例如,这个package.json
指示nodemon
忽略目录test
:
"scripts":
"test": "jest",
"start": "nodemon server.js"
,
"nodemonConfig":
"ignore": ["test/*"]
找到nodemon配置文件设置here的完整说明。
与其他答案一样,请务必重新启动nodemon
以使配置更改生效。
【讨论】:
【参考方案3】:在您的项目根目录中创建nodemon.json
,如下所示:
"ignore": ["db.json"]
这是在 Andrew Philips 回答中看到的使用 package.json 的替代方法
见docs
【讨论】:
【参考方案4】:您也可以使用类似的方法仅在特定文件夹中运行 nodemon。这样您就不必添加多个--ignore
参数。
"scripts":
"devStart": "cd ./server/ && nodemon ./server.js"
【讨论】:
【参考方案5】:大家都知道,我使用这种模式来排除目录:
node_modules/**
但这导致使用了很多观察者:我的一个项目有近 500000 现在我使用
node_modules/
仅使用 134 个观察者。
始终监控您的工作
【讨论】:
以上是关于nodemon 忽略目录的主要内容,如果未能解决你的问题,请参考以下文章