This repository has been archived on 2022-08-14. You can view files and clone it, but cannot push or open issues or pull requests.
outline/webpack.config.prod.js

47 lines
1.4 KiB
JavaScript
Raw Normal View History

2016-02-27 21:53:11 +00:00
var path = require('path');
var webpack = require('webpack');
2016-05-24 03:35:19 +00:00
var HtmlWebpackPlugin = require('html-webpack-plugin');
2016-05-24 05:55:42 +00:00
var ExtractTextPlugin = require("extract-text-webpack-plugin");
2016-02-27 21:53:11 +00:00
commonWebpackConfig = require('./webpack.config');
productionWebpackConfig = Object.assign(commonWebpackConfig, {
cache: true,
devtool: 'cheap-module-source-map',
2016-04-29 05:25:37 +00:00
entry: [
2016-07-23 19:50:48 +00:00
'babel-polyfill',
'babel-regenerator-runtime',
2016-07-24 22:32:31 +00:00
'./frontend/index',
2016-04-29 05:25:37 +00:00
],
2016-02-27 21:53:11 +00:00
output: {
path: path.join(__dirname, 'dist'),
2016-05-24 03:35:19 +00:00
filename: 'bundle.[hash].js',
publicPath: '/static/',
2016-02-27 21:53:11 +00:00
},
});
productionWebpackConfig.module.loaders.push({
test: /\.s?css$/,
loader: ExtractTextPlugin.extract('style-loader', 'css-loader?modules&importLoaders=1&localIdentName=[name]__[local]___[hash:base64:5]!sass?sourceMap')
});
2016-05-24 03:35:19 +00:00
productionWebpackConfig.plugins.push(new HtmlWebpackPlugin({
template: 'server/static/index.html'
}));
2016-05-24 05:55:42 +00:00
productionWebpackConfig.plugins.push(new ExtractTextPlugin('styles.[hash].css'));
2016-02-27 21:53:11 +00:00
productionWebpackConfig.plugins.push(new webpack.optimize.OccurenceOrderPlugin());
2016-06-05 02:03:00 +00:00
productionWebpackConfig.plugins.push(
new webpack.optimize.UglifyJsPlugin({
compress: {
warnings: false
}
})
);
2016-02-27 21:53:11 +00:00
productionWebpackConfig.plugins.push(
new webpack.DefinePlugin({
'process.env': {
'NODE_ENV': JSON.stringify('production')
}
})
);
module.exports = productionWebpackConfig;