【问题标题】:404 error page after refreshing dynamic route刷新动态路由后出现404错误页面
【发布时间】:2022-12-09 18:06:19
【问题描述】:

我正在使用 2.15.8 版本的 Nuxt。当我像这样刷新页面时:localhost:3000/products/(product.id) 浏览器返回 404 页面

product.id 来自数据库(firebase)。

我试过 npm generate 但它无法解决我的问题,我尝试使用 dynamic-routes.js 文件之类的插件,其中包含:

import axios from 'axios'

export default {
    generate: {
        routes() {
            return axios
                .get(
                    'https://my-api/products.json'
                )
                .then((res) => {
                    const data = Object.keys(res.data)
                    return data.map((value) => {
                        return '/products/' + res.data[value].urlsId
                    })
                })
        }
    }
}

它也无能为力。

你能分享一下你对这个问题的建议吗?

【问题讨论】:

  • 什么是 (product.id)?可能不存在于数据库中。
  • 没有,数据库中有一个id,比如uuid

标签: vue.js nuxt.js 404-page


【解决方案1】:

首先检查 api 在邮递员上是否正常工作,然后转到编码部分。

您也可以将获取的数据保存到一个变量中,然后使用该变量来检索数据。所以如果它不是动态的,你不需要连续点击 api。

【讨论】: