Vue.js 如何使用nuxt和nuxt-i18n生成本地化动态路由?
我试图让nuxt生成本地化的动态路由。我用nuxt-i18n翻译每条路线 以下是我的nuxt-i18n配置:Vue.js 如何使用nuxt和nuxt-i18n生成本地化动态路由?,vue.js,nuxt.js,server-side-rendering,prismic.io,nuxt-i18n,Vue.js,Nuxt.js,Server Side Rendering,Prismic.io,Nuxt I18n,我试图让nuxt生成本地化的动态路由。我用nuxt-i18n翻译每条路线 以下是我的nuxt-i18n配置: ['nuxt-i18n'{ 懒惰:是的, 地区:[ { 名称:“法语”, 代码:“fr”, iso:‘fr ch’, 文件:“fr.json” }, { 名称:“德语”, 代码:'de', 国际标准化组织:“德奇”, 文件:“de.json” }, { 名称:“意大利语”, 代码:“it”, iso:“it ch”, 文件:“it.json” }, ], langDir:'lang/',
['nuxt-i18n'{
懒惰:是的,
地区:[
{
名称:“法语”,
代码:“fr”,
iso:‘fr ch’,
文件:“fr.json”
},
{
名称:“德语”,
代码:'de',
国际标准化组织:“德奇”,
文件:“de.json”
},
{
名称:“意大利语”,
代码:“it”,
iso:“it ch”,
文件:“it.json”
},
],
langDir:'lang/',
defaultLocale:'fr',
第2页:false,
页码:{
“建议/_-uid”:{
fr:“/conseil/:uid”,
de:'/ratschlag/:uid',
它:“/consiglio/:uid”,
},
}
}]
如文件所述:
“生成”命令(纱线生成)将忽略动态管线。
Nuxt不知道这些路由是什么,因此无法生成
他们
因此,我尝试适应并使用我的headless CMS的Api来重建所有路由,但不幸的是,nuxt由于某种原因没有生成它们。我尝试使用文件结构(即/advice/\u uid.vue
)而不是本地化的路由,希望nuxt-i18n能帮我解决这个问题,但这方面也没有运气
这是我的nuxt.config.js:
从“Prismic javascript”导入Prismic
常数普里斯米奇https://some-repository.cdn.prismic.io/api/v2'
const advices=()=>
getApi(prismicEndpoint)
。然后(api=>
查询(Prismic.Predicates.at('document.type','advice'){
页面大小:100,
})
)
。然后(res=>{
返回[
…res.results.map(advice=>`/conseil/${advice.uid}`),
]
})
//更多的代码。。。
导出默认值{
//更多的代码。。。
生成:{
回退:“404.html”,
忠告
}
}
运行npm run generate
时没有错误,尽管它不会生成任何这些路由。
在我使用nuxt-i18n对我的路线进行本地化之前,它曾经工作得很好
有没有办法让nuxt或nuxt-i18n生成本地化动态路由
谢谢你的帮助 你确定这里没有打字错误吗
generate: {
fallback: '404.html',
advices
}
您的函数应该有路由
作为其键,因此它应该是:
generate: {
fallback: '404.html',
routes: advices
}
是的,没有打字错误。正如我所说,在使用nuxt-i18n之前,它工作得非常好。虽然我仔细检查了一遍,但它仍然没有生成我的路由。嗯,
advices
根本不是generate
的选项,所以您的代码无法生成路由。正如@terenoth所说,应该是routes:advices
@Thibaut API调用的响应数据是什么?@tony19在这种情况下,advices成功返回了100个字符串的数组。您可以创建一个复制该问题的示例项目吗?@tony19很遗憾,我没有时间对该问题进行报告。。。