【发布时间】:2021-01-07 11:19:30
【问题描述】:
我正在处理一个 React 项目,我正在通过 i18next 添加多语言支持。对于每个组件,我都有一个单独的 locale 文件夹,其中包含多个 json 文件,每种语言一个。
我正在尝试将所有这些文件打包到一个 locales.json 文件中,并使用它来配置 i18next。我找到了一个 Webpack 插件 (merge-jsons-webpack-plugin),它可以完全按照我想要的方式进行打包,它会在 build 文件夹中创建输出文件,但是我不知道如何使用结果。
这是我的 Webpack 配置的 plugins 部分:
new MergeJsonWebpackPlugin({
output: {
groupBy: [
{
pattern: 'app/**/locales/*.json',
fileName: 'locales.json',
},
],
},
})
如何在我的代码中引用构建工件?如何导入 locales.json?
我在这里错过了 Webpack 的重点吗?如果是这样,上述插件的目的是什么?
【问题讨论】:
-
那你为什么不通过http调用加载你的json呢?由于您无法在使用插件的情况下在捆绑代码中使用它,我猜
-
该文件显示在 build 文件夹中,因此它在生产中应该可以正常工作,但在开发模式下似乎无法正常工作(react-boilerplate)。
-
不确定您真正需要什么?
-
我有一些 json 文件,我想将它们合并为一个,然后使用生成的对象来配置 i18next。我想在 Webpack 中进行合并,因为将其作为预构建步骤对我来说是有意义的,但是我不知道如何引用我的代码的输出。我需要知道这是否可行,是否有意义,如果可行,该怎么做。