|
|
@@ -10,6 +10,7 @@ const HtmlWebpackPlugin = require('html-webpack-plugin') |
|
|
|
const ExtractTextPlugin = require('extract-text-webpack-plugin') |
|
|
|
const OptimizeCSSPlugin = require('optimize-css-assets-webpack-plugin') |
|
|
|
const UglifyJsPlugin = require('uglifyjs-webpack-plugin') |
|
|
|
const CompressionPlugin = require('compression-webpack-plugin');//引入gzip压缩插件 |
|
|
|
|
|
|
|
const env = require('../config/prod.env') |
|
|
|
|
|
|
@@ -41,6 +42,15 @@ const webpackConfig = merge(baseWebpackConfig, { |
|
|
|
sourceMap: config.build.productionSourceMap, |
|
|
|
parallel: true |
|
|
|
}), |
|
|
|
new CompressionPlugin({ |
|
|
|
filename: '[path].gz[query]', // 使得多个.gz文件合并成一个文件,这种方式压缩后的文件少,建议使用 |
|
|
|
algorithm: 'gzip', // 官方默认压缩算法也是gzip |
|
|
|
test: /\.js$|\.css$|\.html$|\.ttf$|\.eot$|\.woff$/, // 使用正则给匹配到的文件做压缩,这里是给html、css、js以及字体(.ttf和.woff和.eot)做压缩 |
|
|
|
threshold: 10240, //以字节为单位压缩超过此大小的文件,使用默认值10240吧 |
|
|
|
minRatio: 0.8, // 最小压缩比率,官方默认0.8 |
|
|
|
//是否删除原有静态资源文件,即只保留压缩后的.gz文件,建议这个置为false,还保留源文件。以防: |
|
|
|
deleteOriginalAssets: false |
|
|
|
}), |
|
|
|
// extract css into its own file |
|
|
|
new ExtractTextPlugin({ |
|
|
|
filename: utils.assetsPath('css/[name].[contenthash].css'), |
|
|
|