指南

新功能

v10 中的新内容

通过 definePageMeta() 自定义路由{lang="ts"}

我们新增了通过 definePageMeta() API 为页面设置自定义路由的支持,这已经成为为页面设置自定义路由的推荐方式。 该方法通过在模块选项中设置 customRoutes: 'meta' 来启用。

要从 defineI18nRoute() 宏迁移,只需将其替换为 definePageMeta(),并使用相同的选项设置 i18n 属性:

pages/about.vue
<script setup>
definePageMeta({
  i18n: {
    paths: {
      en: '/about-us',
      fr: '/a-propos',
    }
  }
})
</script>

实验性严格 SEO 模式

我们新增了一个实验性选项 strictSeo,用于启用严格 SEO 模式,它改变了 i18n 头部标签的处理方式。

开启严格 SEO 模式后,i18n 头部标签将由内部管理,这带来了一些备受期待的改进:

  • 当设置本地化动态路由参数时,模块不再为不支持的语言环境添加 alternate 标签。
  • 使用 <SwitchLocalePathLink> 的不支持语言环境链接将被禁用,其链接会被设置为 '#',并添加 data-i18n-disabled 属性以便样式控制。
  • 在严格 SEO 模式下,不再需要使用 useLocaleHead(),模块会自动设置 i18n 标签,调用该函数会抛出错误。
  • 规范化查询参数可通过全局配置 experimental.strictSeo.canonicalQueryParams 设置。
  • useSetI18nParams() 会继承全局规范化查询参数配置,也可以通过其选项参数覆盖。

如果该模式稳定,将在 v11 中成为默认设置,请大家尝试并反馈遇到的任何问题。