1
各言語ごとにアプリケーションバンドルを作成し、ベンダーモジュールを分割する必要があります。次webpack.config.jsCommonsChunkPluginでwebpack-i18n-pluginを使用する
// webpack.config.js
var webpack = require('webpack')
var path = require('path')
var I18nPlugin = require("i18n-webpack-plugin")
var locales = {
"en": require("./m1/js/en.json"),
"ja": require("./m1/js/ja.json")
}
module.exports = Object.keys(locales).map(function (locale) {
return {
name: locale,
entry: "./m1/js/main.js",
output: {
filename: 'app-' + locale + '.js',
path: path.resolve(__dirname, 'm1/js/build')
},
plugins: [
new I18nPlugin(
locales[locale],
{
functionName: '_t',
}
),
new webpack.optimize.CommonsChunkPlugin({
name: 'vendor',
minChunks: function (module) {
return module.context && module.context.indexOf('node_modules') !== -1;
}
})
]
}
})
は、次のエラーをスローします:
ERROR in chunk vendor [entry]
app-en.js
Conflict: Multiple assets emit to the same filename app-en.js
ERROR in chunk vendor [entry]
app-ja.js
Conflict: Multiple assets emit to the same filename app-ja.js
誰かがこれで私を助けることができますか?