Heim  >  Fragen und Antworten  >  Hauptteil

Das dynamische Routing von Nuxt js ist nach dem Generieren ungültig

In meinem Projekt verwende ich nuxt js. Ich habe eine Route, die so aussieht Service/:slug Nach dem Erstellen und Generieren laufen alle meine Routen perfekt. Ich verwende den folgenden Code, um dynamische Routen zur Erstellungszeit zu generieren

  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)
    }
  }


Aber wenn ich nach dem Erstellen und Generieren ein weiteres neues Projekt über das Admin-Panel erstelle, tritt das Problem auf.

Wenn ich nuxt build ausführe, habe ich anscheinend drei Routen

  1. Service/Bargeld
  2. Service/Gewinn

Jetzt, nachdem ich meinen dist-Ordner auf dem Server gehostet habe, klicke ich auf www.url/service/cash und es funktioniert perfekt.

Jetzt erstelle ich im Admin-Panel ein neues Serviceprojekt namens send-money Wenn ich dann den Browser über www.url/service/send-money öffne Es funktioniert nicht und erhält 404.

Jetzt verstehe ich nicht, wie ich diese Situation lösen soll.

P粉579008412P粉579008412206 Tage vor412

Antworte allen(1)Ich werde antworten

  • P粉739706089

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

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

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

    Antwort
    0
  • StornierenAntwort