vue项目使用compression-webpack-plugin打包优化

4 篇文章 0 订阅

前端项目越来越大,导致首页加载缓慢,了解到compression-webpack-plugin插件能够将项目代码打包压缩,如果要使用需要配合nginx达到提升网页加载速度效果。插件文档传送门

先放一波压缩前和压缩后的对比

压缩前:
在这里插入图片描述
压缩后:压缩前项目大小

可以看出来经过压缩后项目缩小的不是一个等级,接下来介绍插件使用

  1. 安装插件
npm install --save-dev compression-webpack-plugin
  1. 配置vue.config.js(压缩配置可以参考官方文档,根据自己需求选择)
const CompressionWebpackPlugin = require('compression-webpack-plugin')
configureWebpack: config => {
config.plugins.push(
  new CompressionWebpackPlugin({
     filename: '[path][base].gz', //压缩后的文件名
     algorithm: 'gzip', //压缩算法/功能
     test: /\.(js|css)(\?.*)?$/i, //匹配项目文件,以js或者以css结尾的才执行压缩
     threshold: 10240, //仅处理大于此大小的资产(以字节为单位)
     minRatio: 0.8, //仅压缩比该比率更好的资产(minRatio = Compressed Size / Original Size)
     deleteOriginalAssets: true //是否删除原始文件
   }
  )
}
  1. 项目打包
npm run build

nginx配置

server{
  listen xxxx;
  server_name localhost;

  gzip on; //启用nginx压缩
  gzip_min_length 1k;
  gzip_comp_level 9;
  gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png;
  gzip_vary on;
  gzip_disable "MSIE [1-6]\.";

  location /appShare {
     ...
  }
}

总体下来就是这么个流程,自己还没有测试,遇到问题再补充

Vue项目中安装`compression-webpack-plugin`插件后,可能会遇到打包时报错的情况。`compression-webpack-plugin`是一个用于压缩Webpack构建产出的静态资源(如CSS、JS)的插件,但在添加它之前需要确认几个步骤: 1. **兼容性检查**:确保你的webpack版本支持该插件,因为某些版本可能存在不兼容。 2. **正确配置**:在你的webpack配置文件(`config/index.js` 或 `vue.config.js`) 中,你需要正确地应用这个插件。通常会把它添加到output部分,并设置合适的压缩选项,例如`algorithm`, `test`等。 ```js const CompressionWebpackPlugin = require('compression-webpack-plugin'); module.exports = { //... optimization: { minimizer: [ new CompressionWebpackPlugin({ algorithm: 'gzip', // 压缩算法,默认为gzip test: /\.js$|\.html$|\.css$/, // 指定要压缩的文件类型 threshold: 10240, // 文件大小阈值,低于此值时不压缩 minRatio: 0.8, // 压缩比率低于此值时不压缩 }), ], }, }; ``` 3. **处理错误**:如果打包过程中报错,可能是由于其他依赖冲突、语法错误或者是配置文件解析问题。检查是否有语法错误,以及是否有其他模块与`compression-webpack-plugin`有冲突。 如果你已经按照上述步骤操作但仍出现问题,具体的错误信息将是非常重要的线索。常见的错误可能包括缺少必要的模块、路径问题或是对webpack的配置理解有误。建议你在错误日志中查找关键词,或者尝试在网上搜索相似错误以找到解决方案。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值