如何解决Nuxt.js生成的静态站点在Firebase托管上不会降至404,但可在Localhost上使用
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,就是这样!
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。