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
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.
使用
SSG
nuxt 时仅生成项目中的可用页面。这就是SSG
的工作原理。因此,您需要在服务器中创建一个自定义的script
以在创建新页面后运行 yarn build && yarngenerate
命令。例如,假设您正在创建一个博客。当您使用
yarngenerate
时,nuxt 会生成在该特定时间从数据库中获取的帖子,并将它们移动到dist
文件夹中。因此,您需要附加一个自定义脚本 - 您需要以某种方式在后端创建该脚本 - 以在创建新帖子后运行yarn build && yarngenerate
。