nodemon 忽略目录

nodemon ignore directory

在通用 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",

None 这些作品。

文件结构:

+-server
+-client
+-package.json <------- where nodemon script is

但是这不起作用。很确定这是一个模式问题。

有什么想法吗?

您需要将 .. 替换为 .,或者直接引用 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 只会重新启动节点进程,如果您更改 npm 脚本,则需要终止该进程并且 re-run npm run devStart

在很可能的情况下,您在配置文件中使用 nodemon,您可以为要忽略的这些文件创建一个单独的配置条目。奖励,一个看起来更干净的 nodemon 调用,尤其是当要忽略的文件变大时。

例如,此 package.json 指示 nodemon 忽略目录 test:

{
  "scripts": {
    "test": "jest",
    "start": "nodemon server.js"
  },
  "nodemonConfig": {
      "ignore": ["test/*"]
  }
}

查找 nodemon 配置文件设置的完整说明 here

与其他答案一样,请务必重新启动 nodemon 以使配置更改生效。

您也可以仅在特定文件夹中对 运行 nodemon 使用类似的东西。这样您就不必添加多个 --ignore 参数。

{
  "scripts": {
    "devStart": "cd ./server/ && nodemon ./server.js"
  }
}

在您的项目根目录中创建如下所示的 nodemon.json

{
  "ignore": ["db.json"]
}

这是使用 package.json 的替代方法,如 Andrew Philips 的回答

docs

众所周知,我使用此模式来排除目录:

node_modules/**

但这导致使用了很多观察者:在我的一个项目中有将近 500000 现在我使用

node_modules/

仅使用 134 个观察者。

时刻关注你的工作