Нашел похожий вопрос на стеке:
How to build minified and uncompressed bundle with webpack?
Ответы сводятся к
Цитата:
|
You can run webpack twice with different arguments
|
---
В примерах веб-пака нашел
multi-compiler.
Т.о. в идеале конфиг будет выглядеть примерно так:
gulp.task(
pkg.name + '/build',
function() {
var MODULE = {
loaders: [
// [url]https://github.com/babel/babel-loader[/url]
{test: /\.js$/, loader: 'babel'},
// [url]https://github.com/webpack/json-loader[/url]
{test: /\.json$/, loader: 'json'},
// [url]https://github.com/webpack/html-loader[/url]
{test: /\.html$/, loader: 'html'}
]
};
// [url]http://webpack.github.io/docs/list-of-plugins.html#uglifyjsplugin[/url]
var UGLIFY = new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
});
// [url]http://webpack.github.io/docs/list-of-plugins.html#bannerplugin[/url]
var BANNER = new webpack.BannerPlugin(
'/*\n' +
' ' + pkg.name + ' v' + pkg.version + '\n' +
' ' + pkg.homepage + '\n' +
'*/\n'
,
{
entryOnly: true,
raw: true
}
);
return gulp
.src('./src/index.js')
.pipe(webpackStream(
[
// full
{
module: MODULE,
plugins: [BANNER],
devtool: 'source-map',
output: {
library: pkg.name,
libraryTarget: 'umd',
filename: pkg.name + '.js'
}
},
// min
{
module: MODULE,
plugins: [UGLIFY, BANNER],
devtool: 'source-map',
output: {
library: pkg.name,
libraryTarget: 'umd',
filename: pkg.name + '.min.js'
}
}
]
))
.pipe(gulp.dest('./dist'));
}
);
Проблема в том, что
webpackStream не поддерживает array of options
Посмотрим, что ответит создатель плагина.