Dalam projek saya, saya menggunakan nuxt js. Saya mempunyai laluan yang kelihatan seperti Perkhidmatan/:slug Selepas membina dan menjana, semua laluan saya berjalan dengan sempurna. Saya menggunakan kod di bawah untuk menjana laluan dinamik pada masa binaan
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) } }
Tetapi apabila saya membuat satu lagi projek baru dari panel pentadbir selepas membina dan menjana, masalah berlaku.
Apabila saya berlari nuxt build Saya nampaknya mempunyai tiga laluan
Kini, selepas mengehos folder dist saya dalam pelayan, saya mengklik pada www.url/service/cash dan ia berfungsi dengan sempurna.
Kini saya mencipta projek perkhidmatan baharu yang dipanggil send-money dalam panel admin Kemudian apabila saya membuka pelayar menggunakan www.url/service/send-money Ia tidak berfungsi dan mendapat 404.
Sekarang saya tidak faham bagaimana untuk menyelesaikan situasi ini.
Gunakan arahan
SSG
nuxt 时仅生成项目中的可用页面。这就是SSG
的工作原理。因此,您需要在服务器中创建一个自定义的script
以在创建新页面后运行 yarn build && yarngenerate
.Sebagai contoh, katakan anda memulakan blog. Apabila anda menggunakan
yarngenerate
时,nuxt 会生成在该特定时间从数据库中获取的帖子,并将它们移动到dist
文件夹中。因此,您需要附加一个自定义脚本 - 您需要以某种方式在后端创建该脚本 - 以在创建新帖子后运行yarn build && yarngenerate
.