 
			
				30.09.2015, 13:32
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.11.2011 
					
					
					
						Сообщений: 3,924
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Как сохранить несжатый файл - понятно 
// [url]https://github.com/gulpjs/gulp/blob/master/docs/README.md[/url]
var gulp = require('gulp');
// [url]http://webpack.github.io/docs/[/url]
var webpack = require('webpack');
// [url]https://github.com/shama/webpack-stream[/url]
var webpackStream = require('webpack-stream');
gulp.task(
    'task/build',
    function() {
        return gulp
            .src('./src/index.js')
            .pipe(webpackStream({
                devtool: 'source-map',
                debug: true,
                output: {
                    filename: 'module.js'
                }
            }))
            .pipe(gulp.dest('./dist'));
    }
);
Как минимицировать тоже ясно:
 
gulp.task(
    'task/build',
    function() {
        return gulp
            .src('./src/index.js')
            .pipe(webpackStream({
                plugins: [
                    // [url]http://webpack.github.io/docs/list-of-plugins.html#uglifyjsplugin[/url]
                    new webpack.optimize.UglifyJsPlugin({
                        compress: {
                            warnings: false
                        }
                    })
                ],
                devtool: 'source-map',
                debug: true,
                output: {
                    filename: 'module.min.js'
                }
            }))
            .pipe(gulp.dest('./dist'));
    }
);
А вот как сохранить и то и другое и описать это в одном конфиге?  
		
	
		
		
		
		
		
			
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				06.10.2015, 13:27
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 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  
Посмотрим, что ответит создатель плагина.  
		
	
		
		
		
		
		
			
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				09.10.2015, 12:59
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.11.2011 
					
					
					
						Сообщений: 3,924
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		У кого есть время и желание написать патч для webpack-stream?   
https://github.com/shama/webpack-stream/issues/78 
		
	
		
		
		
		
		
			
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				04.11.2015, 22:01
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 23.12.2013 
					
					
					
						Сообщений: 1,856
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 //новый адепт вкатился в трэд) 
Чуваки, вы вебпаком собираете бэкэнд, так? Если да, то точно так же как и фронтэнд, всё собираете в один бандл или что-то другое придумали? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				16.12.2015, 12:41
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 I am Student 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.12.2011 
					
					
					
						Сообщений: 4,415
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Есть конфиг для вебпака и dev cервера (один конфиг) запускаю dev сервер с тем конфигом 
output у меня на две дериктории выше ../../scripts-dist (для дев сервера как корень установил директорию в которой scripts-dist) и когда пробую получу скрипт по адресу localhost: port/script-dist/  то он отдает статику а не из память, как это решить?
 
context: __dirname,
  entry: getEntries(),
  output: {
    filename: distDir
  },
  resolve: {
    root: path.resolve('./'),
    modulesDirectories: getModulesDirectories(),
  }
 
		
	
		
		
		
		
		
			
				__________________ 
				
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
	 | 
 
	
 
 
			 
		
		
		
		
		
						  
				
				Последний раз редактировалось cyber, 16.12.2015 в 12:44.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				16.12.2015, 22:49
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Администратор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 25.05.2007 
					
					
					
						Сообщений: 1,221
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Обычная мультикомпиляция не подойдёт? 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				21.12.2015, 11:08
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 I am Student 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.12.2011 
					
					
					
						Сообщений: 4,415
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 Илья Кантор, нет, архитектура изначально была по индуски сделана и менять сейчас времени нет. 
Так получилось что часть проекта собирается чезер один конфиг, ачасть через другой. Там библиотеки собираются отдельно а все остальное отдельно 
		
	
		
		
		
		
		
			
				__________________ 
				
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
	 | 
 
	
 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				26.04.2016, 13:52
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Профессор 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 08.07.2013 
					
					
					
						Сообщений: 212
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		Новый адепт вкатился в трэд [2] 
Хочу попробовать вебпак на боевом проекте, и для этого сначала пытаюсь решить такую задачку:
  
При дефолтных настройках build layers выглядят примерно как 
XA, YAB, ZA. 
А я хочу - XA, YA, Z, B. Чтобы модуль B соответсвенно грузился on-demand, и только один раз, если мы запросим x и y.
 
Вроде доки говорят что для этого CommonsChunkPlugin, но что-то у меня не получается правильно его использовать.
 
Например я могу сказать так:
 
module.exports = {
    entry: {
        main: "./main",
        BBuilded: ["B"]
    },
    resolve: {
        modulesDirectories: [
            "."
        ]
    },
    output: {
        publicPath: "js/",
        filename: "[name].builded.js"
    },
    plugins: [
          new CommonsPlugin({
               async: true,
              children: true,
              chunkNames: 'B'
            })
    ]
};
B он вычленит, но из верних слоев не исключит. 
Или могу сказать "пройдись по поддереву и выдели общее у всех потомков", но что делать в случае сложнее чет непонятно(  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				07.05.2016, 13:46
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.11.2011 
					
					
					
						Сообщений: 3,924
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Как описать в одном конфиге сжатую и несжатую версии?
			 
			
		
		
		
		Очень часто мне приходится использовать вебпак для сборок модулей/компонентов (npm/bower). Ранее приходилось описывать два конфига сжатойй и несжатой версий. Оказывается, можно сделать в  одном.
 
Тот же самый вопрос, заданный мною ранее  http://javascript.ru/forum/showthrea...926#post390986 
		
	
		
		
		
		
		
			
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |