Webpack 作为配套文件的网页翻译模块

Webpack 作为配套文件的网页翻译模块,webpack,vue.js,server-side-rendering,Webpack,Vue.js,Server Side Rendering,我需要为webpack(vue loader)处理的每个.vue文件编译翻译文件。 这些翻译文件在.vue中未被引用,它们由翻译文件伴奏(因此网页无法直接跟踪它们) 例如: myComponent1.vue myComponent1.lang.en.yaml myComponent1.lang.fr.yaml ... 在SSR环境中: 服务器端:启动时加载所有伴随文件,并为i18n系统提供所有语言 客户端:通过import()按需加载文件,并使用当前语言为i18n系统提供信息 注: req

我需要为webpack(vue loader)处理的每个
.vue
文件编译翻译文件。 这些翻译文件在
.vue
中未被引用,它们由翻译文件伴奏(因此网页无法直接跟踪它们)

例如:

myComponent1.vue
myComponent1.lang.en.yaml
myComponent1.lang.fr.yaml
...
在SSR环境中:

  • 服务器端:启动时加载所有伴随文件,并为i18n系统提供所有语言
  • 客户端:通过
    import()
    按需加载文件,并使用当前语言为i18n系统提供信息
注:
require.context()
是合适的,因为它只在给定的目录结构中工作


webpack是否提供了这种可能性?

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


您可以使用一个单独的入口点(甚至是一个单独的文件)来导入.vue和.yaml文件。见:
registerMessages(locale => import(`json!yaml!./myComponent1.lang.${locale}.yaml`));

export default {
    ... component definition
}