我“继承”了一个create-react-app
,我将在此上更新一些功能。我熟悉JS并且可以在React中进行编码,但是我对webpack,npm,热重载或简化开发人员生命的其余过程了解不多。
不幸的是,当尝试调试该应用程序时,无论是在Chrome中还是在Firefox中,调试器都不会在断点处停止。 This answer建议在脚本出现两次时出现问题。实际上,在我的Firefox中,其中一个页面被加载了两次:
显然,它们不能同时存在于同一目录中。但是由于某种原因,浏览器会显示并且可能同时运行。
我如何识别它们的来源并禁用它,以便重新获得对调试器的控制权?我相信这与Webpack,热重装和源地图有关。
编辑::如果我重新启动firefox,那么一切都很好,只有源的一个副本。但是,在修改文件并且页面自动刷新之后,我又得到了2个副本。因此,对于这种热重装显然很可疑...
答案 0 :(得分:1)
这似乎与浏览器缓存旧版本有关。
我还注意到只有一个版本会在断点处停止,而另一个版本只会忽略它们。
这篇文章向您显示哪个文件被缓存,哪个是真正的文件:https://stackoverflow.com/a/53877858/373207
在提供js文件的服务器中应该可以禁用缓存。 对于create-react-app,可以通过将start命令更改为:
react-scripts start --no-cache
来源:https://github.com/facebook/create-react-app/issues/6074#issuecomment-494720199