Node.js代码更改未在Localhost浏览器中反映,除非重新启动Webstorm

时间:2015-06-03 15:09:51

标签: node.js express webstorm

我已经花了一天时间。因为每次我做一个node.js代码更改时我必须继续重新启动webstorm,因此我无法继续开发代码。

以下是我的问题的1分钟广告https://www.youtube.com/watch?v=xg_k8M0VwBI,这是我的网络风暴设置https://www.youtube.com/watch?v=hX3I1AWMLT8

一些初步事实

  • 我使用的是Webstorm 10.0.3
  • 我使用nodemon来监视我的代码并在我对代码进行更改后停止并启动(创建一个新的节点进程)
  • 我有调试器|实时编辑在首选项中设置为自动。我试过手动,但它在我的问题方面没有任何区别

以下是正在发生的事情

  1. 我打开webstorm(假设它已经关闭)
  2. 我在我的express.js应用程序上运行调试,它启动很好意思我可以转到localhost:3000并且加载正常
  3. 我对代码进行了重大更改,例如您在上面的视频中看到的内容
  4. 我刷新了浏览器页面,现在我收到404错误并且实际上是预期的,因为我通过我所做的重大改变打破了代码
  5. 我现在回过头来撤消那个突破性的变化,回到代码工作之前
  6. 我刷新调试或再次点击调试或其他
  7. 我刷新浏览器,但它仍然是404,这没有任何意义!
  8. 我最终必须重新启动Webstorm(包括无效缓存)并再次启动它,以便在将更改恢复为正常工作代码后加载localhost:3000而不会出现404错误
  9. 我无法相信这种情况发生。我无法相信我是唯一一个看过这个问题的人。但我也无法相信我无法解决这个问题!这是一个错误吗?我使用的是Webstorm 10.0.3。

    我只是更改这些代码行,例如:

    如果我启动Webstorm(之前关闭),此代码有效:

    app.listen(app.get('port'), function(){
        console.log('Express web server is listening on port ' + app.get('port'));
    });
    

    这会打破它导致404(因为在get之后缺少一个端括号(' port'但JS在没有错误方面是有效的,因为我在结尾放了一个结束括号:

    app.listen(app.get('port', function(){
        console.log('Express web server is listening on port ' + app.get('port'));
    }));
    

1 个答案:

答案 0 :(得分:0)

在0:45似乎有一个新的调试器选项卡。 我没有webstorm来确认工作流程,但是有可能两个调试器选项卡在相同的端口3000上竞争,在某些时候,具有损坏代码的调试器保持活动状态,而不管将来可能尝试应用的更改如何没有真正服务的实例。

我的建议是看看你是否可以维护一个调试器实例(tab),看看是否可以解决它。

enter image description here