我正在尝试使用i18n
动态导入webpack
文件:
function getI18n(lang) {
return import(/* webpackChunkName "i18n/[request]" */ `./locales/${lang}.json`)
.then(/*whatever*/)
}
但是即使在调用该函数之前,我仍可以在开发人员工具中看到该文件夹中的所有文件都已加载:
等等
这不是我想要的。 我想在运行时动态地延迟加载所需的块。
有趣的是,如果我要重命名文件ru
-> ru2
和nw
-> nw2
并更改导入以使用编号为2的路径,例如:./locales/${lang}2.json
它只会加载文件i18n/ru2.json.js
和i18n/nw2.json.js
会忽略名称中没有2
字符的用户。因此,我想它可以使用某种正则表达式而不是完全匹配来运行。
谢谢
P.S。老实说,我使用vuejs
和typescript
,因此问题可能在两者之间。我一直在尝试将此示例vuei18n lazy load与我的代码一起使用。
Webpack不知道您在运行时需要该目录中的哪个文件,因此它需要将包中的所有文件包括在内。 (https://webpack.js.org/guides/dependency-management/#require-with-expression)