我正在尝试配置我的browserHistory。我的路线是
<Route path="/test" component = {App} />
如果我创建链接,它可以正常工作。但是如果我在浏览器或网址中加入 localhost / test ,我会收到404错误。我认为它无法在服务器上找到它。
有人可以帮帮我吗?我是反应路由器的新手。我是否必须配置服务器端?
提前非常感谢你。
答案 0 :(得分:1)
是的,正如React Router documentation中所述,无论浏览器请求哪条路径,您都必须配置服务器,使其始终返回索引页。
使用express,假设您有一个/public/index.html
文件,这样可行:
/* Your express includes and init code would go here... */
// Serve static assets normally
app.use(express.static(__dirname + '/public'))
// Handle every other route with index.html, which will contain
// a script tag to your application's JavaScript file(s).
app.get('*', function (request, response){
response.sendFile(path.resolve(__dirname, 'public', 'index.html'))
})
重要的是app.get('*', ...
,它会返回相同的内容(在这种情况下是您的index.html
文件),无论您的浏览器请求哪条路径。
希望有所帮助。