Options

打包

打包选项。

bundle

  • type: object
  • default: { compositionOnly: true, runtimeOnly: false, fullInstall: true, dropMessageCompiler: false }

配置 nuxt i18n 模块的打包优化。

支持的属性:

compositionOnly

  • type: boolean
  • default: true

是否仅使用 vue-i18n 的组合 API。默认情况下,遗留 API 会被树摇掉。更多细节,请参见 这里

如果您希望使用 Vue I18n 的遗留 API,必须将 compositionOnly 设置为 false请注意,设置此值将禁用 Vue I18n 组合 API。需要注意的是,遗留 API 也可以通过在 i18n.config 中将 Vue I18n 选项设置为 allowComposition: true 以混合方式使用,但这有限制。详细信息请见 这里

runtimeOnly

  • type: boolean
  • default: false

在构建中是否自动使用 Vue I18n 运行时专用。

启用此选项时,vue-i18n 消息编译器不会被打包。这意味着您将无法通过 fetch 从后端 API 动态检索本地消息以在应用中使用,也无法以编程方式组合本地消息。也就是说,您必须在构建时能够完全解析本地消息。

fullInstall

  • type: boolean
  • default: true

是否安装完整的 API、组件等。默认情况下,所有内容都会被安装。如果指定为 false,内置组件(i18n-ti18n-di18n-n)和指令(v-t)将不会在 vue 中安装,并且会被树摇掉。更多细节,请参见 这里

dropMessageCompiler

  • type: boolean
  • default: false

在打包时是否树摇消息编译器。

如果使用此选项,您需要启用 compilation.jit 选项。
如果您启用此选项,应检查您应用中的资源是否已通过 nuxt i18n 模块预编译。如果您将通过 API 从后端动态加载资源,则启用此选项将无效,因为没有消息编译器。

onlyLocales

  • type: string | string[]
  • default: undefined

指定需要包含的语言代码,其余将被移除。

如果您有一个代码库(例如 Nuxt Layers)用于多个使用不同语言的相似项目,这将非常有用。

选项的值不会与其他 Nuxt Layers 合并。此选项应仅在最终项目配置中指定。