【问题标题】:webpack translation modules as companion fileswebpack 翻译模块作为伴随文件
【发布时间】:2018-05-19 16:45:50
【问题描述】:

我需要为 webpack (vue-loader) 处理的每个 .vue 文件编译翻译文件。 这些翻译文件在.vue中没有被引用,它们是由翻译文件伴随的(然后webpack不能直接跟踪它们)

示例:

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

在 SSR 上下文中:

  • 服务器端:所有伴随文件在启动时加载并为 i18n 系统提供所有语言
  • 客户端:文件通过import()按需加载,并为 i18n 系统提供当前语言

注意:
require.context() 非常适用,因为它只适用于给定的目录结构。

webpack 是否提供这种可能性?

【问题讨论】:

标签: webpack vue.js server-side-rendering


【解决方案1】:

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

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

export default {
    ... component definition
}

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2013-10-16
    • 2022-10-05
    • 1970-01-01
    • 2011-07-11
    • 1970-01-01
    • 2012-07-18
    • 1970-01-01
    相关资源
    最近更新 更多