react:Uncaught DOMException: 无法在“History”上执行“pushState”:带有 URL 的历史状态对象

IT技术 reactjs react-router
2021-05-13 18:32:40

我有一个react项目,我现在通过webstorm打开没问题,但是直接打开里面的文件夹index.html,主页面可以出来,但是点击会报错,点击我用的react的链接。 麻烦谁能帮帮我解决了,谢谢!

错误信息:

未捕获的 DOMException:无法在“历史”上执行“pushState”:无法在来源为“null”的文档中创建 URL 为“file:///Users/qinchen/Desktop/change/dist/integralpage”的历史状态对象URL 'file:///Users/qinchen/Desktop/change/dist/index.html'。在finishTransition (file:///Users/qinchen/Desktop/change/dist/bundle.js:25897:24) at file:///Users/qinchen/Desktop/change/dist/bundle.js:13142:13 at file:///Users/qinchen/Desktop/change/dist/bundle.js:13118:9 在下一个 (file:///Users/qinchen/Desktop/change/dist/bundle.js:25765:7) 在对象.loopAsync (file:///Users/qinchen/Desktop/change/dist/bundle.js:25769:3) at confirmTransitionTo (file:///Users/qinchen/Desktop/change/dist/bundle.js:13104: 17)在过渡到(文件:

1个回答

出于安全原因,加载本地文件(浏览器中的 file:/// URL)时不能使用 pushState。相反,您有两个选择:

  1. 改用哈希历史记录。这将在本地文件上正常工作。
  2. 启动一个简单的 Web 服务器来提供您的文件。如果您不想构建小型服务器应用程序,这里是一个简单的列表您可以随意选择,他们都会在您的浏览器中为您提供一个支持浏览器历史记录的 http:// URL。