我已使用浏览器进入我的网站,然后使用 CTRL + S 保存,在Google Chrome上选择网页完成选项。
然后,当我在浏览器中打开保存的html文件时,我的网站总是将我重定向到找不到页面。
似乎react-router无法处理来自本地磁盘的路由。
我的routes.js:
import * as React from 'react';
import { Route } from 'react-router';
import Layout from './containers/Layout';
import Home from './containers/Home';
import Registration from './containers/Registration';
import Cancellation from './containers/Cancellation';
import NotFound from './errorPages/NotFound';
export default <Route component={ Layout }>
<Route path='/' components={{ body: Home }} />
<Route path='/registration' components={{ body: Registration }} />
<Route path='/cancellation' components={{ body: Cancellation }} />
<Route path='*' components={{body: NotFound}}/>
</Route>;
// Enable Hot Module Replacement (HMR)
if (module.hot) {
module.hot.accept();
}
我如何正确处理这种情况,更改路线配置,可能是保存网站的其他变种,我该怎么做才能保存我的网站,然后导航没有任何麻烦?
答案 0 :(得分:0)
您需要运行并配置服务器以重新路由到index.html的所有请求,此时React Router负责所有路由。见这里:
https://github.com/ReactTraining/react-router/blob/master/docs/guides/Histories.md#browserhistory
该示例使用Express(Node.js)服务器,相关块位于:
app.get('*', function (request, response){
response.sendFile(path.resolve(__dirname, 'public', 'index.html'))
})
虽然如果您使用其他服务器进行本地开发,您也可以配置您选择的其他服务器。