【问题标题】:Node.js don't restart server when changing .js files?更改 .js 文件时,Node.js 不会重新启动服务器?
【发布时间】:2014-03-22 02:13:18
【问题描述】:

我目前正在使用 node-supervisor,以便 node 获取 .js 更改,它运行良好,但我注意到每次保存 js 文件时它都会重新启动服务器。有没有办法保存服务器端 .js 文件但不重新启动服务器,但会将更改自动加载到节点中?即,该过程不会退出,但会以某种方式使用新的更改进行自我更新。

【问题讨论】:

  • 如果可能的话我会很惊讶,可能不会
  • 您希望“以某种方式”如何工作?已加载的模块将保持引用和使用。
  • 它是一个模块,模块不支持被取消引用或清除..
  • 可以通过重新加载缓存服务器文件来实现。但我从来没有这样做过,只是看到这是可能的,但到目前为止我还没有看到任何模块这样做。我刚刚阅读了一些关于它的讨论。在 Ruby 中可以做到这一点,Rails 在开发模式下自动重新编译缓存。这与 Node.js 中的过程相同,但是......不知道有任何库可以做到这一点。
  • @foreyez:您可以清空模块缓存,以便在再次require()d 时重新加载模块。但是,只要它们被引用/使用,它们的旧实例就会保留在内存中。

标签: javascript node.js node-supervisor


【解决方案1】:

您无法实时加载代码,因为您会遇到复杂情况(例如内存泄漏),但理论上您应该能够使用模块来执行此操作。

你可以看看这个:livenode,不过不建议在生产环境中使用

【讨论】:

  • 感谢您的链接!我一直在寻找类似的东西。当然不是在生产中使用,最好永远在生产中使用;)
猜你喜欢
  • 1970-01-01
  • 2015-12-30
  • 1970-01-01
  • 2020-08-21
  • 2016-05-16
  • 2019-02-13
  • 2019-05-07
  • 2020-11-08
  • 1970-01-01
相关资源
最近更新 更多