我遇到了一个问题,我在做一个干预的项目。我使用的是AngularJS 1.5,ES6和Webpack,对于不同的文本我也使用ng翻译.
我安装了AngularJS-i18n来操纵数字和日期,安装了AngularJS-dynamic来设置$locale语言,当我用npm更改网站语言时。
问题是,我不知道如何从我的AngularJS中的node_modules加载node_modules区域设置。我做了这个:
export default function configApp(thmDynamicLocaleProvider) {
tmhDynamicLocaleProvider.localeLocationPattern('../../../node_modules/angular-i18n/angular-locale_{{locale}}.js');
}
configApp.$inject = ['thmDynamicLocaleProvider'];我设置了一个好的URL,但是我不知道为什么,这个应用程序返回一个404错误。我不知道我怎么能把这个装在webpack身上.
发布于 2017-04-13 08:01:35
如果你用webpack,我建议你使用import()函数。它将将区域设置拆分为块,这些块将在运行时通过请求调用。但是这种方法有一个限制。您无法实现对所需块的动态方式。因此,当您从客户端的某个地方获得有关当前地区的信息时,您可以通过switch操作符选择要导入的内容。
例如,,
function GetLocaleInfo(locale) {
switch(locale) {
case 'en':
import('angular-i18n/angular-locale_en.js').then((en) => {
setLocale(en);
});
case 'ru':
import('angular-i18n/angular-locale_ru.js').then((ru) => {
setLocale(ru);
});
}
}我将更多地注意在异步方式中使用的import函数应该只包含字符串内容。它不支持动态值的原因,在构建步骤webpack检查这些方法,以构建适当的代码块在构建目录。
这里是你可以找到更多关于webpack上的码分裂的信息
https://stackoverflow.com/questions/43364753
复制相似问题