Webpack 作为配套文件的网页翻译模块
我需要为webpack(vue loader)处理的每个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
.vue
文件编译翻译文件。
这些翻译文件在.vue
中未被引用,它们由翻译文件伴奏(因此网页无法直接跟踪它们)
例如:
myComponent1.vue
myComponent1.lang.en.yaml
myComponent1.lang.fr.yaml
...
在SSR环境中:
- 服务器端:启动时加载所有伴随文件,并为i18n系统提供所有语言
- 客户端:通过
按需加载文件,并使用当前语言为i18n系统提供信息import()
require.context()
是合适的,因为它只在给定的目录结构中工作
webpack是否提供了这种可能性?我找到了一种没有任何专用webpack加载程序/插件的解决方案。 每个组件都必须声明其“语言包”:
您可以使用一个单独的入口点(甚至是一个单独的文件)来导入.vue和.yaml文件。见:
registerMessages(locale => import(`json!yaml!./myComponent1.lang.${locale}.yaml`));
export default {
... component definition
}