Спасибо за ответ. =)
Насчет дедовских методов, пытаемся с ними бороться и там где можно улучшить\автоматизировать стараемся внедрить лучшую практику.
И скорее всего наша\моя проблема в том, что я сейчас мыслю в рамках 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,
}
})
);
}