Показать сообщение отдельно
  #52 (permalink)  
Старый 06.10.2015, 13:27
Аватар для nerv_
junior
Отправить личное сообщение для nerv_ Посмотреть профиль Найти все сообщения от nerv_
 
Регистрация: 29.11.2011
Сообщений: 3,924

Нашел похожий вопрос на стеке: 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
Посмотрим, что ответит создатель плагина.
__________________
Чебурашка стал символом олимпийских игр. А чего достиг ты?
Тишина - самый громкий звук
Ответить с цитированием