at the end of the day, it was inevitable
This commit is contained in:
@@ -0,0 +1,53 @@
|
||||
import webpack from 'webpack'
|
||||
import HtmlWebpackPlugin from 'html-webpack-plugin'
|
||||
import ExtractTextPlugin from 'extract-text-webpack-plugin'
|
||||
import AddAssetHtmlPlugin from 'add-asset-html-webpack-plugin'
|
||||
|
||||
import config from '../../config'
|
||||
|
||||
const isProduction = config.env === 'production'
|
||||
|
||||
let htmlWebpackOptions = {
|
||||
template: `${config.path_client}/index.html`,
|
||||
hash: false,
|
||||
favicon: `${config.path_client}/static/favicon.ico`,
|
||||
filename: 'index.html',
|
||||
inject: 'body'
|
||||
}
|
||||
|
||||
if (isProduction) {
|
||||
htmlWebpackOptions.minify = {
|
||||
collapseWhitespace: true
|
||||
}
|
||||
}
|
||||
|
||||
export let plugins = [
|
||||
new webpack.DefinePlugin(config.globals),
|
||||
new webpack.DllReferencePlugin({
|
||||
context: `${config.path_client}`,
|
||||
manifest: require(config.path_dist + '/cw-vendors-manifest.json')
|
||||
}),
|
||||
new HtmlWebpackPlugin(htmlWebpackOptions),
|
||||
new AddAssetHtmlPlugin({ filename: require.resolve(`${config.path_dist}/cw-vendors.js`), includeSourcemap: false })
|
||||
]
|
||||
|
||||
if (!isProduction) {
|
||||
plugins = plugins.concat([
|
||||
new webpack.HotModuleReplacementPlugin(),
|
||||
new webpack.NoErrorsPlugin()
|
||||
])
|
||||
}
|
||||
else {
|
||||
plugins = plugins.concat([
|
||||
new webpack.optimize.OccurrenceOrderPlugin(),
|
||||
new webpack.optimize.DedupePlugin(),
|
||||
new webpack.optimize.UglifyJsPlugin({
|
||||
compress: {
|
||||
unused: true,
|
||||
dead_code: true,
|
||||
warnings: false
|
||||
}
|
||||
}),
|
||||
new ExtractTextPlugin('[name].css')
|
||||
])
|
||||
}
|
||||
Reference in New Issue
Block a user