vue项目开启gzip压缩功能简单实例

 更新时间:2023年07月24日 11:29:44   作者:阿吧阿巴阿巴  
这篇文章主要给大家介绍了关于vue项目开启gzip压缩功能的相关资料,gizp压缩是一种http请求优化方式,通过减少文件体积来提高加载速度,文中通过示例代码介绍的非常详细,需要的朋友可以参考下

前言:为了优化首屏加载速度,启用gzip压缩。

一、安装compression-webpack-plugin

compression-webpack-plugin文档

//新版本不太兼容,推荐这个版本
npm install compression-webpack-plugin@6.1.1 --save-dev

二、修改vue.config.js文件

// 1.先引入
const CompressionWebpackPlugin = require('compression-webpack-plugin');

// 2.在configureWebpack下面进行配置(基本配置)
plugins: [
    new CompressionWebpackPlugin({
      // [file] 会被替换成原始资源。[path] 会被替换成原始资源的路径,[query] 会被替换成查询字符串
      filename: '[path][base].gz',
      // 压缩成gzip
      algorithm: 'gzip',
      // 使用正则给匹配到的文件做压缩,这里是给html、css、js以及字体做压缩
      test: /\.js$|\.css$|\.html$|\.ttf$|\.eot$|\.woff$/, 
      // 只有大小大于该值的资源会被处理。单位是 bytes。默认值是 0。
      threshold: 10240,
      // 只有压缩率小于这个值的资源才会被处理。默认值是 0.8。
      minRatio: 0.8
    })
  ]

// 3.然后 yarn build 进行打包得到dist文件夹,就可以看到生成了很多gzip后缀的文件

三、在nodejs中使用

由于我是用nodejs搭建的服务器,因此只记录用node使用的情况。

1.将dist文件放放在含有nodejs后台的文件夹下

2.修改server.js文件

const path = require('path');
const fs = require('fs');
//导入express模块
const express = require('express')
//创建express的服务器实例
const app = express()

app.use((request, response, next) => {
	//由于我是把server.js和dist文件夹放在同一路径下,因此需要拼接
    const fullPath = path.join(__dirname,'dist',`${request.originalUrl}.gz`);     
    // 检测是否存在同名.gz压缩文件
    if (fs.existsSync(fullPath)) {
        // 存在就告诉浏览器用gzip编码格式来解析,并把对应的“.gz”格式文件发送给浏览器。
        response.setHeader('Content-Encoding', 'gzip')  
        response.sendFile(fullPath);
    } else {
        next()
    }
   })

//将dist目录托管为静态资源服务器
app.use(express.static('./dist'))

//调用app.listen方法,指定端口号并启动web服务器
app.listen(3140,function(){
    console.log('Express server running at http://127.0.0.1:3140');
})

3.over

可以看到,导致首屏加载过慢的罪魁祸首已经压缩成功啦

总结 

到此这篇关于vue项目开启gzip压缩功能的文章就介绍到这了,更多相关vue开启gzip压缩内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • Vue MVVM模型超详细讲解

    Vue MVVM模型超详细讲解

    MVVM是Model-View-ViewModel的缩写,MVVM是一种设计思想,这篇文章主要介绍了Vue生命周期和MVVM框架,本文通过实例代码给大家介绍的非常详细,对大家的学习或工作具有一定的参考借鉴价值,需要的朋友可以参考下
    2022-11-11
  • vue中使用极验验证码的方法(附demo)

    vue中使用极验验证码的方法(附demo)

    这篇文章主要介绍了vue中使用极验验证码的方法(附demo)本文通过实例代码给大家介绍的非常详细,具有一定的参考借鉴价值,需要的朋友可以参考下
    2019-12-12
  • Vue3自定义指令的实践示例

    Vue3自定义指令的实践示例

    这篇文章主要为大家详细介绍了Vue3中自定义指令的实践,文中的示例代码讲解详细,具有一定的借鉴价值,感兴趣的小伙伴可以了解一下
    2023-06-06
  • vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决

    vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错解决

    这篇文章主要介绍了vue-cli3.0修改打包后的文件名和文件地址,打包后本地运行报错的解决方案,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2022-04-04
  • vue异步加载高德地图的实现

    vue异步加载高德地图的实现

    这篇文章主要介绍了vue异步加载高德地图的实现,详细的介绍了异步加载的实现方法。小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-06-06
  • vue el-pagination分页查询封装的示例代码

    vue el-pagination分页查询封装的示例代码

    本文主要介绍了vue el-pagination分页查询封装的示例代码,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2023-06-06
  • 一个例子轻松学会Vue.js

    一个例子轻松学会Vue.js

    这篇文章主要为大家详细介绍了一个例子,帮助大轻松学会Vue.js,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2017-01-01
  • vue2.0+koa2+mongodb实现注册登录

    vue2.0+koa2+mongodb实现注册登录

    这篇文章主要介绍了vue2.0+koa2+mongodb实现注册登录功能,非常不错,具有参考借鉴价值,需要的朋友可以参考下
    2018-04-04
  • vue嵌入第三方页面几种常见方法

    vue嵌入第三方页面几种常见方法

    在Vue中嵌入第三方页面可以采用多种方法,例如使用<iframe>、Vue插件、动态加载第三方脚本或WebComponents,不同方法适用于不同类型的内容和项目需求,如<iframe>适用于整个网页,而动态脚本和WebComponents适合特定功能,选择合适的方法可以有效整合外部资源
    2024-09-09
  • Vue之监听方法案例详解

    Vue之监听方法案例详解

    这篇文章主要介绍了Vue之监听方法案例详解,本篇文章通过简要的案例,讲解了该项技术的了解与使用,以下就是详细内容,需要的朋友可以参考下
    2021-07-07

最新评论