如何为 React JS 应用程序创建 _redirects 文件以将其部署在 Netlify 上

时间:2021-07-22 11:59:00

标签: reactjs react-router netlify

我想要一些关于如何创建 _redirects 文件以便我网站的其他页面工作的帮助。它正在使用反应路由器。你能告诉我一个我应该如何做的例子吗?网址使用参数和查询。

<Router basename = {process.env.PUBLIC_URL}>
      
      <Switch>
          <Route exact path = "/">
          <Root/>
          </Route>
          <Route exact path = {"/Pesquisar/:searchField/:page"} component = {withRouter(Pesquisa)}>
          </Route>
          <Route exact path = {"/documento/:id"} component = {Documento}>
          </Route>
          <Route exact insecure component={ Insecure }/>

      </Switch>
    </Router>
    );
}

这是使用 react-router 的 App.js 文件。 _redirects 应该是什么样的?

1 个答案:

答案 0 :(得分:1)

您可以使用 HashRouter 而不是 BrowserRouter,因此您不需要那些重定向文件。事实上,如果您的网址包含 #,您的 React 应用导航将适用于 Netlify。

所以就写:

import { HashRouter, Switch, Route, Redirect } from "react-router-dom";

function App(){
  return (
    <HashRouter>
      <Switch>
          <Route exact path="/"/>
          <Route path="/Pesquisar/:searchField/:page" component={withRouter(Pesquisa)} />
          <Route path="/documento/:id" component={Documento}/>
          <Route insecure component={Insecure}/>

      </Switch>
    </HashRouter>
    );
  )
}