在我的專案中我使用 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生成時,我似乎有三個路線
現在,在伺服器中託管我的 dist 資料夾後,我點擊 www.url/service/cash ,它的工作完美。
現在我在管理面板中建立一個名為send-money的新服務項目 然後當我使用 www.url/service/send-money 開啟瀏覽器時 它不起作用並得到 404。
現在我不明白如何解決這種情況。
使用
SSG
nuxt 時僅產生專案中的可用頁面。這就是SSG
的工作原理。因此,您需要在伺服器中建立自訂的script
以在建立新頁面後執行 yarn build && yarngenerate
指令。例如,假設您正在建立一個部落格。當您使用
yarngenerate
時,nuxt 會產生在該特定時間從資料庫中取得的帖子,並將它們移至dist
資料夾中。因此,您需要附加一個自訂腳本 - 您需要以某種方式在後端建立該腳本 - 以在建立新貼文後執行yarn build && yarngenerate
。