# init project
$ npm init -y
# save dependencies
$ npm install --save-dev babel-core babel-loader babel-preset-es2015 css-loader extract-text-webpack-plugin html-webpack-plugin style-loader webpack
const path = require('path');
const webpack = require('webpack');
const HtmlWebpackPlugin = require('html-webpack-plugin');
const ExtractTextPlugin = require("extract-text-webpack-plugin");
module.exports = {
context: __dirname + "/src",
entry: "./app.js",
output: {
path: path.resolve(__dirname, "./dist"),
filename: "js/app.min.js",
},
module: {
loaders: [
{ test: /\.css$/, loader: ExtractTextPlugin.extract("style-loader", "css-loader") },
{ test: /\.js$/,
exclude: /(node_modules|bower_components|dist)/,
loader: 'babel-loader',
query: { presets: ['es2015'] }
}
]
},
plugins: [
new HtmlWebpackPlugin({
template: './app.html',
inject: 'body',
filename: 'index.html',
minify: {collapseWhitespace: true, removeComments: true},
}),
new ExtractTextPlugin("css/app.min.css"),
new webpack.optimize.UglifyJsPlugin({
compress: { warnings: false },
output: { comments: false }
})
]
};