2

在我的项目中,我使用的是 nuxt js。我有一条看起来像 service/: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 generate时,我似乎有三条路线

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

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

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

现在我无法理解如何解决这种情况。

4

1 回答 1

1

使用SSGnuxt 时,只会在您的项目中生成可用页面。这是如何SSG工作的。因此,您需要script在您的服务器中创建一个自定义以在创建新页面后运行 ‍<code>yarn build && yarn generate 命令。

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

于 2022-01-22T17:03:46.537 回答