首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用nuxt和nuxt-i18n生成本地化的动态路由?

如何使用nuxt和nuxt-i18n生成本地化的动态路由?
EN

Stack Overflow用户
提问于 2020-06-16 09:02:44
回答 1查看 3.6K关注 0票数 5

我试图让nuxt生成本地化的动态路由。我用nuxt-i18n翻译每条路线。

以下是我的nuxt-i18n配置:

代码语言:javascript
复制
['nuxt-i18n', {
  lazy: true,
  locales: [
    {
      name: 'French',
      code: 'fr',
      iso: 'fr-ch',
      file: 'fr.json'
    },
    {
      name: 'German',
      code: 'de',
      iso: 'de-ch',
      file: 'de.json'
    },
    {
      name: 'Italian',
      code: 'it',
      iso: 'it-ch',
      file: 'it.json'
    },
  ],
  langDir: 'lang/',
  defaultLocale: 'fr',
  parsePages: false,
  pages: {
    'advice/_uid': {
      fr: '/conseil/:uid',
      de: '/ratschlag/:uid',
      it: '/consiglio/:uid',
    },
  }
}]

如文件所述:

动态路径被generate命令忽略(纱线生成)。Nuxt不知道这些路由将是什么,所以它无法生成它们。

因此,我试图适应他们的榜样,并使用我的无头CMS的Api来重建所有的路线,但不幸的是,nuxt没有产生它们,因为某些原因。我尝试使用文件结构(即/advice/_uid.vue),而不是本地化的路由,希望nuxt-i18n能为我处理这个问题,但这方面也没有任何进展。

这是我的nuxt.config.js:

代码语言:javascript
复制
import Prismic from 'prismic-javascript'
const prismicEndpoint = 'https://some-repository.cdn.prismic.io/api/v2'

const advices = () =>
  Prismic.getApi(prismicEndpoint)
  .then(api =>
    api.query(Prismic.Predicates.at('document.type', 'advice'), {
      pageSize: 100,
    })
  )
  .then(res => {
    return [
      ...res.results.map(advice => `/conseil/${advice.uid}`),
    ]
  })

// Some more code...

export default {
  // Some more code...

  generate: {
    fallback: '404.html',
    advices
  }
}

运行npm run generate时没有错误,尽管它不会生成任何这些路由。在我使用nuxt-i18n定位我的路线之前,它曾经运行得很好。

是否有任何方法使nuxt或nuxt-i18n生成局部的非哺乳动物路径?

谢谢你的帮忙!

EN

回答 1

Stack Overflow用户

发布于 2020-06-24 15:52:15

你确定这里没有打印错误吗?

代码语言:javascript
复制
generate: {
  fallback: '404.html',
  advices
}

您的函数应该以routes作为它的键,因此它应该是:

代码语言:javascript
复制
generate: {
  fallback: '404.html',
  routes: advices
}
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/62404805

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档