nodemon监视目录的更改

87

我知道如何执行nodemon server.js,但如果我想执行nodemon ./src怎么办。

我希望在src目录下有任何更改时重启节点。

当我执行上述操作时,它会显示无法找到模块babelprac\src

我还在另一个命令窗口执行:npm run scripts:watch

脚本如下:

"scripts" : {
  "scripts" : "babel src --source-maps-inline --out-dir dist",
  "scripts:watch" : "babel src --watch --source-map-inline --out-dir dist"
},

我想运行 src 或 dist 文件夹中的脚本以查看控制台日志,但是它只运行了表盘。 我也尝试了 nodemon --watch ./src,但显示找不到 index.js。 我正在使用 Windows 7,并且我的工作目录是 babelprac

5个回答

104

1
在文档的开头写着:nodemon将监视启动nodemon的目录中的文件,而如果我使用server.js,它似乎只会监视server.js而不是整个目录。我希望它能监视整个目录。 - jack blank
而且对于我来说,“ --watch app”签名不起作用。在提出这个问题之前,我已经阅读了那个页面。 - jack blank
2
@jackblank 不是的,你告诉nodemon要运行的脚本是 server.js。这一行意味着nodemon将监视您从中启动nodemon的所有文件和目录,即 nodemon server.js - Kody
@jackblank 你试过nodemon --watch src server.js吗?你需要用要监视更改的目录替换--watch DIR,例如app。 - Kody
@jackblank,文件 main.js 存在吗?你需要把想要运行的 NodeJS 脚本放在那里。 - Kody
显示剩余4条评论

75

Nodemon 对于监视文件夹和文件有更加精细化的方法。使用 nodemon.json 指定需要监视的文件及其类型,对于你的情况,如下所示:

{
  "watch": ["server.js", "src/"],
  "ext": "js, css"
}

当监视的文件数量和类型开始膨胀,以及希望在每次服务器重启时运行脚本时,拥有一个nodemon.json尤其有用。为了让 nodemon 读取配置,nodemon.json应该放置在项目的根目录中,与所有其他隐藏和未隐藏的JSON文件一起。

以下是开始创建你的nodemon.json的好地方:

https://github.com/remy/nodemon/blob/master/doc/sample-nodemon.md


25

2
官方文档说我们不能使用 * ;但在我的实践中,* 是有效的 : ) - Lancer.Yan
无论我做什么,nodemon只能对单个文件起作用,而不能对文件夹起作用,我无法解决这个问题。 - undefined

1

这个解决方案对我有用。首先,在项目的主目录中创建一个名为nodemon.json的文件,然后添加以下内容:

 {
  "restartable": "rs",
  "ignore": [
    ".git",
    "node_modules/**/node_modules"
  ],
  "verbose": true,
  "execMap": {
    "js": "node --harmony"
  },
  "events": {
    "restart": "osascript -e 'display notification \"App restarted due to:\n'$FILENAME'\" with title \"nodemon\"'"
  },
  "watch": [
    "test/fixtures/",
    "test/samples/"
  ],
  "env": {
    "NODE_ENV": "development"
  },
  "ext": "js,json"
}

您可以在“watch”选项中添加您的目录名称,以便nodemon监视任何更改,并在“ext”选项中添加您的文件类型。


-3
安装它:
npm install npm-watch
"scripts":
"watch": "npm-watch"

1
这个问题明确是关于 nodemon 的,所以这个回答并没有帮助。你的回答也缺乏解释如何使用 npm-watch 包来实现 @op 想要实现的目标。 - Fred

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