搜尋

首頁  >  問答  >  主體

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粉579008412248 天前450

全部回覆(1)我來回復

  • P粉739706089

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

    使用 SSG nuxt 時僅產生專案中的可用頁面。這就是 SSG 的工作原理。因此,您需要在伺服器中建立自訂的 script 以在建立新頁面後執行 ‍yarn build && yarngenerate 指令。

    例如,假設您正在建立一個部落格。當您使用 ‍‍‍yarngenerate 時,nuxt 會產生在該特定時間從資料庫中取得的帖子,並將它們移至 dist 資料夾中。因此,您需要附加一個自訂腳本 - 您需要以某種方式在後端建立該腳本 - 以在建立新貼文後執行 yarn build && yarngenerate

    回覆
    0
  • 取消回覆