将Create-React-App部署到github

时间:2018-05-28 02:54:13

标签: reactjs react-router

我很难将create-react-app应用程序部署到gh-pages。我的目标网页工作正常,但我的其他两个页面没有加载,我得到404错误。我找到了文档,它说gh-pages不支持使用HTML 5 pushState的路由器。这意味着什么?如何让我的应用程序在没有任何问题的情况下运行?

app.js:

import React, { Component } from 'react';
import {HashRouter, Switch, Route} from 'react-router-dom';
import Navigation from './Components/Navigation';
import Landing from './Components/Landing';
import ToiletInfo from './Components/ToiletInfo';
import Location from './Components/Location';
import {data} from './data';
import './App.css';

class App extends Component {
render() {

 return (
  <HashRouter>
    <Switch>
      <div className="App">
      <Navigation />
      <Route 
        exact path='/' 
        render={(props) => <Landing {...props} data={data} />}
        />
        <Route 
        exact path='/ToiletInfo' 
        render={(props) => <ToiletInfo {...props} data={data} />}
        />
        <Route 
        exact path='/Location' 
        render={(props) => <Location {...props} data={data} />}
        />
        {/* // <Landing data={data}/> */}
      </div>
    </Switch>
  </HashRouter>
);
}
}


export default App;

1 个答案:

答案 0 :(得分:0)

在大多数具有ByRef客户端路由的单页应用中,如果路由不匹配,您需要告诉服务器提供/呈现react-router,这在github页面中是不可能的。你需要遵循这个https://github.com/facebook/create-react-app/issues/1765

快递示例:

index.html

但是你可以在这里找到另一个用例:https://angular.io/guide/deployment