合并多个webpack块

bkkx9g8r  于 2023-11-19  发布在  Webpack
关注(0)|答案(2)|浏览(158)

我正在开发一个大型应用程序,我需要为同一个语言环境加载多个翻译(即应用程序翻译+瞬间语言环境翻译+其他)。
因此,每次用户更改区域设置时,我们需要这样的东西:

translations.en.json
moment/locales/en.json
other/en.json

字符串
我懒得加载它们,但我想在一个请求中完成。这样我就可以做到:

import('translations/en').then(() => ...


这应该需要所有这些。我已经设法写了一个脚本,每个我们支持的语言环境创建一个文件,其中包含这3个导入,但webpack仍然会将其拆分为多个BLOG块。是否有可能以某种方式合并它们 * 每个语言环境 *?
谢谢你,谢谢

w8f9ii69

w8f9ii691#

使用webpackChunkName提示将多个导入放入一个块中

import(/* webpackChunkName: "translations/en" */ 'translations/en').then(() => ...
import(/* webpackChunkName: "translations/en" */ 'moment/locales/en').then(() => ...
import(/* webpackChunkName: "translations/en" */ 'other/en').then(() => ...

字符串
注意,你不能创建一个以language作为参数的函数,因为提示必须在编译时确定。所以你必须为每个地区重复所有三行。但是它可能会很好地与你的脚本一起使用这些导入创建一个文件。
如果没有帮助,请查看SplitChunksPlugin文档。

efzxgjgh

efzxgjgh2#

也许你正在寻找/* webpackMode: "eager" */魔术注解。这将编译所有导入到一个文件。
范例:

const module = await import(
      /* webpackChunkName: "exported-web-components" */ 
      /* webpackMode: "eager" */
      "./app/components-to-export/" + key + "/" + key + ".component");

字符串
对不起,如果我迟到了,我现在正在处理这个问题。

相关问题