React-router 不适用于生产环境
React-router did not work on production
那里,
我正在为这个应用程序使用 react-router。它在我的本地服务器上运行良好。这是代码:
var routes = (
<Router history={browserHistory}>
<Route path="/" component={App} />
<Route path="/concepts" component={Concepts} />
<Route path="/ssdb" component={SolarSystem} />
<Route path="/missions" component={Missions} />
</Router>
)
但是,当我使用 webpack 部署到 firebase 服务器时,路由不再有效。 url 说 "This file does not exist and there was no index.html found in the current directory or 404.html in the root directory."
我错过了什么吗?谢谢!
事实证明我们需要将重写添加到 firebase.json。希望对其他人的类似问题有所帮助。
"rewrites": [{
"source": "**",
"destination": "/index.html"
}]
以下解决方案帮我解决了同样的问题
{
"hosting": {
"public": "build",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
您可以更新 index.js 文件
<BrowserRouter> <App/></BrowserRouter>
现在可以使用了。
那里,
我正在为这个应用程序使用 react-router。它在我的本地服务器上运行良好。这是代码:
var routes = (
<Router history={browserHistory}>
<Route path="/" component={App} />
<Route path="/concepts" component={Concepts} />
<Route path="/ssdb" component={SolarSystem} />
<Route path="/missions" component={Missions} />
</Router>
)
但是,当我使用 webpack 部署到 firebase 服务器时,路由不再有效。 url 说 "This file does not exist and there was no index.html found in the current directory or 404.html in the root directory."
我错过了什么吗?谢谢!
事实证明我们需要将重写添加到 firebase.json。希望对其他人的类似问题有所帮助。
"rewrites": [{
"source": "**",
"destination": "/index.html"
}]
以下解决方案帮我解决了同样的问题
{
"hosting": {
"public": "build",
"rewrites": [
{
"source": "**",
"destination": "/index.html"
}
],
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
您可以更新 index.js 文件
<BrowserRouter> <App/></BrowserRouter>
现在可以使用了。