Das dynamische Routing von Nuxt js ist nach dem Generieren ungültig
P粉579008412
P粉579008412 2024-03-26 13:36:34
0
1
448

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粉579008412
P粉579008412

Antworte allen(1)
P粉739706089

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

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

Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage