WebPack翻译模块作为伴侣文件



我需要为WebPack(VUE-LOADER)处理的每个.vue文件编译翻译文件。这些翻译文件未在.vue中引用,它们由翻译文件(然后webpack无法直接跟踪)

示例:

myComponent1.vue
myComponent1.lang.en.yaml
myComponent1.lang.fr.yaml
...

在SSR上下文中:

  • 服务器端:所有伴侣文件均已加载在启动时,并用所有语言馈送I18N系统
  • 客户端:通过import()按需加载文件,并使用当前语言馈送I18N系统

注意:
require.context()值得注意,因为它仅从给定目录结构起作用。

WebPack是否提供这种可能性?

我找到了一个解决方案,而没有任何专用的WebPack加载程序/插件。每个组件必须声明其"语言包":

registerMessages(locale => import(`json!yaml!./myComponent1.lang.${locale}.yaml`));
export default {
    ... component definition
}

最新更新