微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

Nuxt.js生成的静态站点在Firebase托管上不会降至404,但可在Localhost上使用

如何解决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();
    }
  },

404.html出现在我的/ dist文件夹中

在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 举报,一经查实,本站将立刻删除。