搜索

首页  >  问答  >  正文

Generate后Nuxt js动态路由无效

在我的项目中我使用 nuxt js。我有一条路线看起来像 服务/:slug 构建并生成后,我的所有路线都完美运行。我用下面的代码在生成时生成动态路线

  generate: {

    routes(callback) {
      axios
        .get('url')
        .then(res => {
          const routes = res.data.data.map(service => {
            return '/services/' + service.slug
          })
          callback(null, routes)
        })
        .catch(callback)
      axios
        .get('https://url')
        .then(res => {
          const routes = res.data.data.map(offer => {
            return '/campaigns/' + offer.slug
          })
          callback(null, routes)
        })
        .catch(callback)
    }
  }


但是当我在构建和生成后从管理面板创建另一个新项目时,会出现问题。

当我运行nuxt生成时,我似乎有三个路线

  1. 服务/现金
  2. 服务/利润

现在,在服务器中托管我的 dist 文件夹后,我点击 www.url/service/cash ,它的工作完美。

现在我在管理面板中创建一个名为send-money的新服务项目 然后当我使用 www.url/service/send-money 打开浏览器时 它不起作用并得到 404。

现在我不明白如何解决这种情况。

P粉579008412P粉579008412274 天前478

全部回复(1)我来回复

  • P粉739706089

    P粉7397060892024-03-27 00:27:50

    使用 SSG nuxt 时仅生成项目中的可用页面。这就是 SSG 的工作原理。因此,您需要在服务器中创建一个自定义的 script 以在创建新页面后运行 ‍yarn build && yarngenerate 命令。

    例如,假设您正在创建一个博客。当您使用 ‍‍‍yarngenerate 时,nuxt 会生成在该特定时间从数据库中获取的帖子,并将它们移动到 dist 文件夹中。因此,您需要附加一个自定义脚本 - 您需要以某种方式在后端创建该脚本 - 以在创建新帖子后运行 yarn build && yarngenerate

    回复
    0
  • 取消回复