Показать сообщение отдельно
  #3 (permalink)  
Старый 03.02.2017, 10:51
Новичок на форуме
Отправить личное сообщение для yakutoc Посмотреть профиль Найти все сообщения от yakutoc
 
Регистрация: 02.02.2017
Сообщений: 2

Спасибо за ответ. =)
Насчет дедовских методов, пытаемся с ними бороться и там где можно улучшить\автоматизировать стараемся внедрить лучшую практику.
И скорее всего наша\моя проблема в том, что я сейчас мыслю в рамках Gulp (собственно вы правильно это отметили).

Одну из задача я частично уже решил. Это было копирование статичных файлов типа изображений, html страниц и шрифтов в папку build с помощью https://github.com/kevlened/copy-webpack-plugin

Однако не со всем понимаю, как мне указать в конфиге правильную структуру build. И почему не генерится css файл.
Мой webpack.config.js
const webpack = require('webpack');
const CopyWebpackPlugin = require('copy-webpack-plugin');
const path = require('path');
const ExtractTextPlugin = require ('extract-text-webpack-plugin');
const NODE_ENV = process.env.NODE_ENV || 'dev';

module.exports = {
	context: path.resolve(__dirname, './src/project'),


	entry: "./js/main.js",


	output: {
		path: path.resolve(__dirname,'build/assets/'),
		filename: "main.js",
	},

	module: {
		rules: [
			{
			
				test: /\.js$/,
				use: [{
					loader: 'babel-loader',
					options: { presets:['es2015'] },
				}]
			},

			{
				test: /\.css$/,
				loader: ExtractTextPlugin.extract({
					loader: 'css-loader?importLoaders=1!postcss-loader'
				}),
			},
		],
	},

	plugins: [
		new webpack.DefinePlugin({
			NODE_ENV: JSON.stringify(NODE_ENV)
		}),

		new ExtractTextPlugin('main.css'),

		new CopyWebpackPlugin([
			{
				from: './fonts',
				to: './fonts'
			},
			{
				from: './html',
				to: './'
			},
			{
				from: './img',
				to: './img'
			},
		])

	],
	watch: NODE_ENV == 'dev',

	watchOptions: {
		aggregateTimeout: 100
	},

	devtool: "cheap-eval-source-map",
};

if(NODE_ENV == 'prod') {
	module.exports.plugins.push(
		new webpack.optimize.UglifyJsPlugin({
			compress: {
				warnings: false,
				drop_console: true,
				unsafe: true,
			}
		})
	);
}
Ответить с цитированием