49 lines
1.1 KiB
JavaScript
49 lines
1.1 KiB
JavaScript
var path = require('path');
|
|
var webpack = require('webpack');
|
|
var ExtractTextPlugin = require('extract-text-webpack-plugin');
|
|
|
|
module.exports = {
|
|
entry: [
|
|
'./js/module.js'
|
|
],
|
|
output: {
|
|
path: './public',
|
|
filename: 'module.js'
|
|
},
|
|
module: {
|
|
loaders: [{
|
|
test: path.join(__dirname, 'js'),
|
|
loader: 'babel',
|
|
query: {
|
|
presets: ['es2015']
|
|
}
|
|
}, {
|
|
test: /\.scss$/,
|
|
loader: ExtractTextPlugin.extract('style', 'css!sass')
|
|
}, {
|
|
test: /\.css$/,
|
|
loader: ExtractTextPlugin.extract('style', 'css?sourceMap!postcss!sass?sourceMap')
|
|
}, {
|
|
test: /.(png|woff(2)?|eot|ttf|svg)(\?[a-z0-9=\.]+)?$/,
|
|
loader: 'file-loader?name=[hash].[ext]'
|
|
}]
|
|
},
|
|
plugins: [
|
|
new ExtractTextPlugin('module.css'),
|
|
new webpack.optimize.UglifyJsPlugin({
|
|
sourceMap: false,
|
|
compress: {
|
|
sequences: true,
|
|
conditionals: true,
|
|
booleans: true,
|
|
if_return: true,
|
|
join_vars: true,
|
|
drop_console: true
|
|
},
|
|
output: {
|
|
comments: false
|
|
}
|
|
})
|
|
]
|
|
};
|