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

时间:2017-06-07 01:56:18

标签: reactjs react-router

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

错误讯息:

  

未捕获DOMException:无法在“历史记录”上执行“pushState”:A   带URL的历史状态对象   'file:/// Users / qinchen / Desktop / change / dist / integralpage'不能   在原始文件“null”和URL的文档中创建   '文件:///Users/qinchen/Desktop/change/dist/index.html'。       在finishTransition(文件:///Users/qinchen/Desktop/change/dist/bundle.js:25897:24)       在file:///Users/qinchen/Desktop/change/dist/bundle.js:13142:13       在file:///Users/qinchen/Desktop/change/dist/bundle.js:13118:9       在下一个(文件:///Users/qinchen/Desktop/change/dist/bundle.js:25765:7)       at Object.loopAsync(file:///Users/qinchen/Desktop/change/dist/bundle.js:25769:3)       在confirmTransitionTo(file:///Users/qinchen/Desktop/change/dist/bundle.js:13104:17)       在transitionTo(file:///Users/qinchen/Desktop/change/dist/bundle.js:13130:5)       at Object.push(file:///Users/qinchen/Desktop/change/dist/bundle.js:13153:5)       at Object.push(file:///Users/qinchen/Desktop/change/dist/bundle.js:13395:15)       at Object.push(file:///Users/qinchen/Desktop/change/dist/bundle.js:6535:15)

1 个答案:

答案 0 :(得分:5)

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

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