在我的專(zhuān)案中我使用 nuxt js。我有一條路線(xiàn)看起來(lái)像 服務(wù)/:slug 建造並生成後,我的所有路線(xiàn)都完美運(yùn)行。我用下面的程式碼在生成時(shí)產(chǎn)生動(dòng)態(tài)路線(xiàn)
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) } }
但是當(dāng)我在建置和產(chǎn)生後從管理面板建立另一個(gè)新專(zhuān)案時(shí),會(huì)出現(xiàn)問(wèn)題。
當(dāng)我運(yùn)行nuxt生成時(shí),我似乎有三個(gè)路線(xiàn)
現(xiàn)在,在伺服器中託管我的 dist 資料夾後,我點(diǎn)擊 www.url/service/cash ,它的工作完美。
現(xiàn)在我在管理面板中建立一個(gè)名為send-money的新服務(wù)項(xiàng)目 然後當(dāng)我使用 www.url/service/send-money 開(kāi)啟瀏覽器時(shí) 它不起作用並得到 404。
現(xiàn)在我不明白如何解決這種情況。
使用 SSG
nuxt 時(shí)僅產(chǎn)生專(zhuān)案中的可用頁(yè)面。這就是 SSG
的工作原理。因此,您需要在伺服器中建立自訂的 script
以在建立新頁(yè)面後執(zhí)行 ?yarn build && yarngenerate
指令。
例如,假設(shè)您正在建立一個(gè)部落格。當(dāng)您使用 ???yarngenerate
時(shí),nuxt 會(huì)產(chǎn)生在該特定時(shí)間從資料庫(kù)中取得的帖子,並將它們移至 dist
資料夾中。因此,您需要附加一個(gè)自訂腳本 - 您需要以某種方式在後端建立該腳本 - 以在建立新貼文後執(zhí)行 yarn build && yarngenerate
。