webpack 翻译模块作为配套文件
webpack translation modules as companion files
我需要为 webpack (vue-loader) 处理的每个 .vue
文件编译翻译文件。
.vue
中没有引用这些翻译文件,它们与翻译文件相伴(webpack 无法直接跟踪它们)
示例:
myComponent1.vue
myComponent1.lang.en.yaml
myComponent1.lang.fr.yaml
...
在 SSR 上下文中:
- 服务器端:启动时加载所有伴随文件,并为 i18n 系统提供所有语言
- 客户端:通过
import()
按需加载文件并使用当前语言 提供国际化系统
注:
require.context()
是合适的,因为它只适用于给定的目录结构。
webpack 是否提供这种可能性?
我找到了一个没有任何专用 webpack 的解决方案 loader/plugin。
每个组件都必须声明其 "language packs":
registerMessages(locale => import(`json!yaml!./myComponent1.lang.${locale}.yaml`));
export default {
... component definition
}
我需要为 webpack (vue-loader) 处理的每个 .vue
文件编译翻译文件。
.vue
中没有引用这些翻译文件,它们与翻译文件相伴(webpack 无法直接跟踪它们)
示例:
myComponent1.vue
myComponent1.lang.en.yaml
myComponent1.lang.fr.yaml
...
在 SSR 上下文中:
- 服务器端:启动时加载所有伴随文件,并为 i18n 系统提供所有语言
- 客户端:通过
import()
按需加载文件并使用当前语言 提供国际化系统
注:
require.context()
是合适的,因为它只适用于给定的目录结构。
webpack 是否提供这种可能性?
我找到了一个没有任何专用 webpack 的解决方案 loader/plugin。 每个组件都必须声明其 "language packs":
registerMessages(locale => import(`json!yaml!./myComponent1.lang.${locale}.yaml`));
export default {
... component definition
}