首页 文章

在github页面上创建反应应用程序构建失败

提问于
浏览
0

我使用create-react-app来创建一个反应应用程序 . (哇噢!)

当我开发它时,应用程序运行良好 .

当我运行'npm build'然后使用python SimpleHTTPServer在本地托管构建文件夹时,该应用程序运行良好 . 它也适用于本地托管的另一台机器 .

我使用gh-pages在https://interpolated.github.io/ojclient/构建应用程序并将其部署到github

html加载,js加载和css加载但页面不呈现 . 没有控制台错误 . 几乎就像js没有运行一样 .

在github上托管时,js不会运行的原因是什么?

任何帮助将不胜感激,没有错误消息,很难知道去哪里 .

它可能与反应路由器有关,我正在使用它?

1 回答

  • 2

    JavaScript运行正常,页面也正确呈现 . 但是当然你没有't expect a blank page. To find out why it'渲染一个空白页面,你可以使用React devtools extension .

    转到devtools中的 React 选项卡,您可以看到呈现的元素:

    React devtools elements

    正如您所看到 <Router> 包含 null ,这意味着不存在匹配的路由 . 您可能想知道实际请求了什么路由,因此您可以调用历史道具的 getCurrentLocation 函数 . 所选元素在控制台中可用作变量 $r ,您可以使用 $r.props.history.getCurrentLocation() 调用它:

    React devtools current location

    现在你知道路线实际上是 /ojclient/ 但你没有在your routes中 .

    如你所料, react-router 就是问题所在 . 您可以将主路径的根目录更改为 /ojclient/ ,也可以使用自定义历史记录而不是 browersHistory 指定 basename/ojclient/ (请参阅Customize your history further) .

    请记住,GitHub页面不支持 browserHistory 使用的HTML5 pushstate API . 要解决该问题,您可以查看Create React App的Notes on client-side routing部分 .

相关问题