webpack有一个文件压缩的插件,可以将大文件压缩成gzip的格式。
使用起来也非常简单,先安装:npm install --save-dev compression-webpack-plugin

然后修改webpack配置(vue.config.js):

const CompressionWebpackPlugin = require("compression-webpack-plugin");
// 可加入需要的其他文件类型,比如json
// 图片不要压缩,体积会比原来还大
const productionGzipExtensions = ["js", "css"];
 
module.exports = {
  configureWebpack: config => {
    if (process.env.NODE_ENV === "production"){
        config.plugins.push(
          new CompressionWebpackPlugin({
            filename: '[path].gz[query]',
            algorithm: "gzip",
            test: new RegExp("\\.(" + productionGzipExtensions.join("|") + ")$"),
            threshold: 10240, //对超过10k的数据进行压缩
            minRatio: 0.6 // 压缩比例,值为0 ~ 1,
            deleteOriginalAssets:false  // 删除原文件
          })
        )
    }

    return {
        name:name,
        resolve:{
            alias:{
                '@':resolve('src')
            }
        }
    }
  }
};

配置之后,npm run build,我们可以看到文件已经被压缩了
image.png


菜鸟前端
10 声望0 粉丝