nodemon忽略目录

时间:2017-01-28 18:10:16

标签: javascript node.js nodemon

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

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

有什么想法吗?

4 个答案:

答案 0 :(得分:15)

您需要将..替换为.,或直接引用client/,您还需要删除星号:

"devStart": "nodemon --ignore './client/' --exec babel-node src/server.js"

或者

"devStart": "nodemon --ignore 'client/' --exec babel-node src/server.js"

根据nodemon docs,这是如何通过命令行忽略目录:

nodemon --ignore lib/ --ignore tests/

另请注意,nodemon只会重新启动节点进程,如果更改npm脚本,则需要终止该进程并重新运行npm run devStart

答案 1 :(得分:0)

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

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

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

找到有关nodemon配置文件设置here的完整说明。

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

答案 2 :(得分:0)

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

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

答案 3 :(得分:0)

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

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

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

docs