 
			
				12.03.2015, 22:04
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 猫 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 07.06.2007 
					
					
					
						Сообщений: 7,504
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от kobezzza
			
		
	 | 
 
	| 
		жесть получается: помещаем наш CSS в JS
	 | 
 
	
 
 Да, жесть. В jsx тоже можно css-сить, но лучше классами    
		
	
		
		
		
		
		
			
				__________________ 
				Последний раз редактировалось Gozar, Сегодня в 24:14.
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.03.2015, 10:27
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 sinistral 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 28.03.2011 
					
					
					
						Сообщений: 5,418
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от kobezzza
			 
		
	 | 
 
	| 
		Разбираюсь с WebPack и встал вопрос: а нахрена нужны всякие CSS лоадеры и т.д. это же жесть получается: помещаем наш CSS в JS Оо
	 | 
 
	
 
 можно и пикчи в JS класть   
т.е. то, что он так делает - это хорошо. вы требуете (require) один файл (например, компонент КНОПКИ), а он автоматически подтянет свои стили и другие ресурсы - согласитесь, меньше запарок)
 
бутстрапчег подключать заметно легче...  или вообще что-то, что тянет за собой спектр зависимостей
 
да, модуль начинает тянуть за собой CSS, JS, библиотеки, картинки, шрифты и остальное (причём можно указать, чтобы он это не скачивал, а размещал прямо в скрипте, через dataUrl) 
 
иногда это полезно (для разработки), иногда - нет (для продакшена, ваш К.О.).
 
для извлечения стилей в отдельный файл есть плагин  ExtractTextPlugin
для копирования ресурсов есть  file-loader, для включения содержимого файла в data url -  url-loader, для включения голого содержимого файла -  raw-loader 
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				13.03.2015, 11:37
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Быдлокодер;) 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.11.2010 
					
					
					
						Сообщений: 4,338
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		melky, понял, спасибо.
 
***
 
Ещё вопрос: разбираюсь с чанковой сборкой, а именно с common чанками и вот такая трабла:
 
webpack({
	context: path.resolve(__dirname, 'app'),
	entry: {
		app: './index',
		base: './base'
	},
	output: {
		path: path.resolve(__dirname, 'dist'),
		filename: '[name].js'
	},
	module: {
		loaders: [
			{
				test: /\.js$/,
				exclude: /node_modules/,
				loader: 'babel-loader'
			}
		]
	},
	plugins: [
		new webpack.optimize.CommonsChunkPlugin({
			name: 'base'
		})
	]
}, function (err) {
	if (err) {
		console.error(err);
	}
});
Не работает, вываливается с ошибкой в app, мол ./index не существует, но если base записать как массив, то всё ок
 
base: ['./base']
 
Баг или фича?  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				14.03.2015, 20:27
			
			
			
		  
	 | 
 
	
		
		
		
			
			| 
			
				
				
				 sinistral 
				
				
				
				
	
 
 
			 | 
			  | 
			
				
				
					Регистрация: 28.03.2011 
					
					
					
						Сообщений: 5,418
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	| 
		
			Сообщение от kobezzza
			
		
	 | 
 
	| 
		 Баг или фича?
	 | 
 
	
 
 хз    а если прописать еще и расширение файла?  
		
	
		
		
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				14.03.2015, 20:43
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Быдлокодер;) 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.11.2010 
					
					
					
						Сообщений: 4,338
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от melky
			 
		
	 | 
 
	
		хз   а если прописать еще и расширение файла?
	 | 
 
	
 
 Тоже самое    Ну так или иначе, в форме массива оно работает.  
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				19.03.2015, 14:30
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.11.2011 
					
					
					
						Сообщений: 3,924
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		
		
	
		
		
		
		
		
			 
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				12.07.2015, 10:17
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.11.2011 
					
					
					
						Сообщений: 3,924
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
			
			 
				Как писать таски для gulp на es6
			 
			
		
		
		
		package.json (для винды)
 
{
    "scripts": {
        "gulpes6": "./node_modules/.bin/webpack.cmd --progress --colors --config webpack.gulpfile.js",
    }
}
gulpfile.es6
import gulp from 'gulp';
// обязательно именно так "from gulp"
// если писать по другому, вебпак будет пытается запихнуть в bundle
 
webpack.gulpfile.js
'use strict';
var fs = require("fs");
module.exports = {
    entry: './gulpfile.es6',
    target: 'node',
    externals: fs.readdirSync('node_modules'),
    output: {
        path: './',
        filename: 'gulpfile.js',
        libraryTarget: 'commonjs'
    },
    module: {
        loaders: [
            // [url]https://github.com/babel/babel-loader[/url]
            {test: /\.(?:es6|js)$/, loader: 'babel'}
        ]
    }
};
запускаем в терминале
 
npm run gulpes6
 
будет собран gulpfile.js из gulpfile.es6 
после чего можно запускать таски галпа обычным способом(через терминал или IDE)
 
по материалам  ссылка 
		
	
		
		
		
		
		
		
		
						  
				
				Последний раз редактировалось nerv_, 12.07.2015 в 10:56.
				
				
			
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				24.07.2015, 01:30
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 junior 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 29.11.2011 
					
					
					
						Сообщений: 3,924
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		этот конфиг на примере gulp'а:
 package.json
{
    "name": "project_name",
    "version": "0.0.0",
    "private": true,
    "description": "",
    "dependencies": {
        "babel": "^4.7.16",
        "babel-loader": "^4.0.0",
        "json-loader": "^0.5.1",
        "html-loader": "^0.2.3",
        "gulp": "^3.9.0",
        "webpack": "^1.10.1",
        "webpack-stream": "^2.0.0"
    },
    "scripts": {
    }
}
gulpfile.js
// [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(
    'xmlmarket/build',
    function() {
        return gulp
            .src('./httpdocs/js/angular/application/modules/xmlmarket/module.js')
            .pipe(webpackStream({
                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'}
                    ]
                },
                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: 'angular-xmlmarket.min.js'
                }
            }))
            .pipe(gulp.dest('./httpdocs/js/angular/modules/'));
    }
);
gulp.task(
    'xmlmarket/watch', function() {
        return gulp
            .watch(
                [
                    './httpdocs/js/angular/application/modules/xmlmarket/**/*.js',
                    './httpdocs/js/angular/application/modules/xmlmarket/**/*.json',
                    './httpdocs/js/angular/application/modules/xmlmarket/**/*.html'
                ],
                [
                    'xmlmarket/build'
                ]
        );
    }
);
 
		
	
		
		
		
		
		
			
				__________________ 
				Чебурашка стал символом олимпийских игр. А чего достиг ты? 
Тишина - самый громкий звук
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2015, 14:28
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 I am Student 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 17.12.2011 
					
					
					
						Сообщений: 4,415
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	| 
	
	
		
		
		
		
		 как заставить webpack игнорить ошибки, т.е если он не нашел require("module") то он так и оставил, а не заменял на ошибку 
		
	
		
		
		
		
		
			
				__________________ 
				
	
 
	| 
		
			 Цитата: 
		
	 | 
 
	| 
		Если ограничения и условия описываются как "коробка", то хитрость в том что бы найти именно коробку... Не думайте о чем то глобальном - найдите коробку.
	 | 
 
	
 
 
			 
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
	
	
	
		
	
		
		
		
			
			 
			
				10.08.2015, 23:51
			
			
			
		  
	 | 
 
	
		
		
		
			  | 
			
			
				
				
				 Быдлокодер;) 
				
				
				
				
	
 
 
 
			 | 
			  | 
			
				
				
					Регистрация: 19.11.2010 
					
					
					
						Сообщений: 4,338
					 
					
					
			
		
 
		 
		
			 | 
		 
		 
		
	 | 
 
	
	
	
		
		
		
		
		
	
 
	
		
			Сообщение от cyber
			 
		
	 | 
 
	| 
		как заставить webpack игнорить ошибки, т.е если он не нашел require("module") то он так и оставил, а не заменял на ошибку
	 | 
 
	
 
 http://webpack.github.io/docs/list-o...l#ignoreplugin 
		
	
		
		
		
		
		
			
		
		
		
		
	
		
		
	
	
	 | 
 
 
	 
		 | 
 
 
 
 |  
  |