问题描述
Nuxtjs版本:2.14.5
我最近使用nuxt generate在nuxt.config.js中使用以下设置预渲染了我的nuxtjs网站。
export default {
ssr: true,target: 'static',generate: {
fallback: true,exclude: [
'/preview'
],routes() {
return getRoutes();
}
},
在localhost(运行nuxt启动)上,每当我转到错误的链接时,404页面就会按预期显示。
我已将我的静态站点部署到Firebase Hosting,现在当我转到错误的链接时,404页面没有显示,相反,我被引导到一个看上去有点可怕的主页。
有人知道为什么会这样吗?或者我能找些什么?
解决方法
我找到了解决方案, 基本上,它与firebase.json文件有关并进行重写。 作为一个完全静态的网站,JavaScript不处理导航,因为用户直接向Firebase请求特定页面的html文件。 因此,我们需要设置一个重写,指定“对于所有断开的链接,均提供404.html”
https://firebase.google.com/docs/hosting/full-config#rewrites
在Firebase.json中,
{{1}}
目标位置必须设置为404.html,就是这样!