我使用Create-React-App(CRA)创建了一个简单的应用程序。问题是即使应用程序在我的localhost上运行完全正常(即使用npm start
后),当我尝试将我的页面发布到gh-pages(npm run build
和npm run deploy
时),我无法使用URL加载页面。我一开始甚至没有在控制台中看到任何错误,但过了一段时间(或者更具体地说,在我在控制台中打开时间轴选项卡后),我看到以下错误。
创建临时文件失败18:已确定某些文件 在Web应用程序中访问是不安全的,或者调用太多 正在使用文件资源。
我确实在我的本地开发环境中看到了这个警告,
[违规]长时间运行的JavaScript任务耗时229毫秒
并且缩小的bundle.js文件大小约为4MB。但我想这不是问题,因为我的其他项目都有相同的警告,并且发布得很好。
我也非常有信心这是一个与JavaScript相关的问题,而不是与CRA相关的问题。我在某处读到这可能是资源问题的网络映射。但到目前为止,我并不确定这意味着什么或如何解决它。
答案 0 :(得分:1)
只是为了回答我自己的问题,以防其他任何人到这里来。
问题出在我使用react-router
的方式上。我最初使用的是browserHistory
而不是hashHistory
。
根据文档,
GitHub Pages不支持使用HTML5 pushState的路由器 引擎盖下的历史API(例如,React Router使用 browserHistory)。这是因为当有一个新页面加载时 url喜欢http://user.github.io/todomvc/todos/42,其中/ todos / 42是 在前端路由中,GitHub Pages服务器返回404,因为它知道 / todos / 42没什么。
更多信息可以是found here。