【问题标题】:How do I monitor symlinked modules with Nodemon?如何使用 Nodemon 监控符号链接模块?
【发布时间】:2015-07-13 20:02:45
【问题描述】:

我正在 Node.js 中开发一个模块,我已经将它 npm 链接到另一个项目的 node_modules 文件夹中。我想在我的模块中的文件更改时重新启动这个其他项目服务器。 Nodemon 默认忽略 node_modules,但我认为我可以使用 nodemon --watch node_modules/my_module 覆盖它——但无法让它工作。如果我暂时从 Nodemons lib/config/defaults.js 中删除 node_modules 它可以工作,这可能证实问题与覆盖默认行为有关。

【问题讨论】:

  • 我自己也遇到了。我曾想过使用 forever.js,但看起来该库实际上并不支持将日志输出发送到标准输出(我认为这是一个破坏者)。
  • ...aaa 我找到了解决方案。我想我之前应该尝试过。

标签: node.js npm symlink nodemon


【解决方案1】:

使用 nodemon 1.2.1,我可以执行以下操作以使手表与 npm 链接一起工作:

$ nodemon --watch . --watch $(realpath node_modules/my_module)

基本上...您必须监视您所在的目录(您的项目目录),然后指定对符号链接本身的监视。 nodemon 默认忽略 node_modules,因此明确指定手表可以解决此问题。如果这对您不起作用,您可以尝试更新您的 nodemon 版本。

【讨论】:

  • 这似乎不再起作用,请参阅this issue;
  • @Tamlyn Hey - 如果存在,请随时编辑我的答案以包含新修复。如果这是一个好的答案,我可以制作这个社区 wiki 并保持开放以供编辑。
  • 在我运行 brew install coreutils (macOS) 之后,这对我有用。否则找不到realpath 命令。最好单独运行realpath node_modules/my_module 以确保它返回有意义的内容,然后才调用nodemon ...
  • 使用这个解决方案,我创建了一个小型包装器,它将自动监视所有链接的模块。只需npm install -g linkemon,然后只需使用linkemon 命令代替nodemon
猜你喜欢
  • 1970-01-01
  • 2013-04-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多