Gir*_*afa 5 javascript node.js bundling-and-minification webpack
我正在尝试为我的项目设置webpack.该项目足够大,并以多种语言提供.我希望每种语言的每个入口点都作为单独的文件提供.我的语言文件不仅仅是简单的JSON,而是JavaScript.所以i18n插件不符合我的需求.
该解决方案似乎与i18n插件类似:
var languages = ['en', 'fr', 'de'];
module.exports = languages.map(function (lang) {
return {
name: lang,
// some other language-dependent config
}
})
Run Code Online (Sandbox Code Playgroud)
然后在我的一些脚本中,我想要使用环境变量来定位本地化文件:
var lang = ...; // some environment variable, available only at compile time
var l10n = require('./lang/' + lang);
Run Code Online (Sandbox Code Playgroud)
但是默认情况下,webpack尝试将该表达式存储在括号中,假设稍后在浏览器中对其进行评估.
那么有没有办法告诉webpack立即评估?
或者有人可以更好地解决我的问题?
log*_*yth 10
您应该能够使用Webpack DefinePlugin在编译时设置语言.
例如,您可以将您的要求写为:
var l10n = require('./lang/' + APPLICATION_LANGUAGE);
Run Code Online (Sandbox Code Playgroud)
并在您的配置中,有
plugins: [
new webpack.DefinePlugin({
APPLICATION_LANGUAGE: JSON.stringify(lang)
})
]
Run Code Online (Sandbox Code Playgroud)
您可以根据某些参数或env变量或其他内容有条件地设置构建脚本"lang".
| 归档时间: |
|
| 查看次数: |
1908 次 |
| 最近记录: |