在Webstorm 7.0.3中进行debugging时,热切换Node.js文件

我开始使用Node.js和Webstorm 7.0.3。 我用express创build了一个简单的Node.js应用程序,我在本地运行它。 我想编辑并保存一个.js文件,刷新浏览器,并查看更改 。 据我所知,这应该是非常现成的。

这是什么工作:

  • 我启动Node.js服务器
  • 我使用Chrome导航到快速path
  • 页面呈现正确。

这是什么不工作:

  • 我更改呈现页面的JavaScript函数
  • 我保存文件
  • 我刷新浏览器
  • 该网页不反映对JavaScript函数的更改

以下是我从JetBrains帮助站点所遵循的指示:

  • 创build一个名为“app.js”的Node.js运行/debuggingconfiguration
    • 选中“启动后”和“使用Javascriptdebugging器”选项
  • 创build一个名为“app.js.JavaScript”的JavaScriptdebuggingconfiguration
  • 为“app.js”configurationselect“debugging”。
  • Node.js服务器启动
  • 为“app.js.JavaScript”select“Debug”。
  • 我现在可以在应用程序中创build断点。

但是,如果我更改呈现页面的JS函数,保存文件并刷新浏览器,则不会显示更改。

组态:

  • WebStorm 7.0.3
  • 铬与JetBrains插件2.0
  • Windows 8
  • Node.js的
    • expression3.4.8
    • 韩进海运

当你说你“改变呈现页面的JavaScript函数”时,我假设函数是服务器上的一个路由函数。 例如:

exports.form = function (req, res) { res.render('login', { title: 'Login', message: req.flash('error') }); }; 

刷新浏览器时,任何服务器端代码的更改都不会自动获取。 您通常必须重新启动服务器才能使这些更改生效。

但是,看看nodemon 。 Nodemon监视文件系统的更改,如果检测到某些更改,则会自动重新启动服务器。 对开发非常有用。

另外,看看这篇文章,看看如何整合nodemon和WebStorm:

我如何从WebStorm内部运行nodemon?

有一个名为hotswap( https://github.com/rlidwka/node-hotswap )的模块,它也看起来很有希望 – 本质上,你通过热切换模块来访问你的模块的方法,这个模块检查你后面的变化。 你可以通过热交换对象来访问你的模块的方法,如果发生了变化,就会反映出来,而不用重新启动服务器。

我没有深入到模块本身,但我可以想象有内存问题(节点caching加载所需的模块,我不知道如何清理它们),可能还有性能问题。 非常适合发展,不知道你会想要它在生产。