vite打包优化CDN压缩的分析实现

 更新时间:2024年07月29日 10:15:09   作者:雾恋  
我们在日常的工作中肯定会遇到项目打包优化等问题,本文主要介绍了vite打包优化CDN压缩的分析实现,具有一定的参加价值,感兴趣的可以了解一下

背景

我们在日常的工作中肯定会遇到项目打包优化等问题,而面对这种问题我们一般都是从一下方面进行优化的,在这儿小小的记录一下。

打包报告分析

我们想看打包以后各个文件或者依赖的大小时就需要用到rollup-plugin-visualizer插件进行分析,这样我们就可以有针对性的进行优化了,当然肯定还有其他的第三方插件,如果大家有更好的也可以使用其他的。

安装依赖包

npm install rollup-plugin-visualizer -D
yarn add rollup-plugin-visualizer -D
pnpm install rollup-plugin-visualizer -D

当我们在安装好依赖以后,就可以在vite.config.ts中配置以下代码,当我们配置以后就会发现项目根目录中生成了一个stats.html文件,我们开发该文件就可以进行查看打包后文件的大小了。

plugins: [
    visualizer({
      open: false, // 注意这里要设置为true,否则无效
      filename: 'stats.html', // 分析图生成的文件名
      gzipSize: true, // 收集 gzip 大小并将其显示
      brotliSize: true, // 收集 brotli 大小并将其显示
    }),
]

CDN加速

我们在打包的时候很多第三方插件都会打包进去,这个时候就会大致包比较大,这个时候我们就需要用到第三方插件了,切记如果第三方插件你需要平凡更新的话,就不要用该方法,该处以lodash为例,开源的第三方cdn网站bootcdn

// 安装插件
npm install vite-plugin-cdn-import
// 引入
import importToCDN from 'vite-plugin-cdn-import';
// 使用
importToCDN({
  modules: [
    {
      name: 'lodash',
      var: '_',
      path: 'https://cdn.jsdelivr.net/npm/lodash@4.17.21/lodash.min.js',
    },
  ],
}),

图片资源压缩

我们的项目中肯定或多或少都会有不少的静态资源图片,如果我们的图片比较大的情况下,在用户首次拉取网站的情况下下载的资源就比较多或者大,这个时候我们就需要对静态图片进行一下压缩工作,所以就需要用到改第三方插件。

安装依赖:

npm install vite-plugin-cdn-import -D
yarn add vite-plugin-cdn-import -D
pnpm install vite-plugin-cdn-import -D

使用:
具体的配置可以查看官网

import viteImagemin from 'vite-plugin-imagemin';

viteImagemin({
  gifsicle: {
    optimizationLevel: 7,
    interlaced: false,
  },
  optipng: {
    optimizationLevel: 7,
  },
  mozjpeg: {
    quality: 20,
  },
  pngquant: {
    quality: [0.8, 0.9],
    speed: 4,
  },
  svgo: {
    plugins: [
      {
        name: 'removeViewBox',
      },
      {
        name: 'removeEmptyAttrs',
        active: false,
      },
    ],
  },
}),

打包压缩

这我想就不用多说了,基本上大家都会配置。

// 安装
npm install vite-plugin-compression -D
yarn add vite-plugin-compression -D
// 引用
import viteCompression from 'vite-plugin-compression';
// 使用
viteCompression({
  verbose: true,
  disable: false,
  threshold: 10240,
  algorithm: 'gzip',
  ext: '.gz',
}),

总结

以上的几种方法是打包优化的基本方法,大家可以根据各自的需要进行配置以及增加其他的打包优化等问题。更多相关vite打包优化CDN压缩内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

您可能感兴趣的文章:

相关文章

  • Vue-cli@3.0 插件系统简析

    Vue-cli@3.0 插件系统简析

    Vue-cli@3.0 是一个全新的 Vue 项目脚手架。这篇文章主要介绍了Vue-cli@3.0 插件系统简析,需要的朋友可以参考下
    2018-09-09
  • 详解Element 指令clickoutside源码分析

    详解Element 指令clickoutside源码分析

    这篇文章主要介绍了详解Element 指令clickoutside源码分析,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2019-02-02
  • vue2.0 实现页面导航提示引导的方法

    vue2.0 实现页面导航提示引导的方法

    下面小编就为大家分享一篇vue2.0 实现页面导航提示引导的方法,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-03-03
  • vue 使用html2canvas将DOM转化为图片的方法

    vue 使用html2canvas将DOM转化为图片的方法

    这篇文章主要介绍了vue 使用html2canvas将DOM转化为图片的方法,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-09-09
  • vue实现多组关键词对应高亮显示功能

    vue实现多组关键词对应高亮显示功能

    最近小编遇到这样的问题,多组关键词,这里实现了关键词的背景色与匹配值的字体颜色值相同,下面通过定义关键词匹配改变字体颜色,本文通过实例代码给大家介绍的非常详细,需要的朋友参考下吧
    2019-07-07
  • vue和react中关于插槽详解

    vue和react中关于插槽详解

    这篇文章主要介绍了vue和react中关于插槽详解,slot插槽是Vue对组件嵌套这种扩展机制的称谓,在react可以也这样称呼,但是并不很常见。不过叫slot确实很形象
    2022-08-08
  • 解决elementUI中el-tree树形结构中节点过滤的问题

    解决elementUI中el-tree树形结构中节点过滤的问题

    这篇文章主要介绍了解决elementUI中el-tree树形结构中节点过滤的问题,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2023-04-04
  • vue3 reactive数据更新视图不更新问题解决

    vue3 reactive数据更新视图不更新问题解决

    这篇文章主要为大家介绍了vue3 reactive数据更新视图不更新问题解决,有需要的朋友可以借鉴参考下,希望能够有所帮助,祝大家多多进步,早日升职加薪
    2023-06-06
  • 建立和维护大型 Vue.js 项目的 10 个最佳实践

    建立和维护大型 Vue.js 项目的 10 个最佳实践

    这篇文章小编要与大家分享的是建立和维护大型 Vue.js 项目的 10 个最佳实践,需要的小伙伴请和小编一起学习下面文章的具体内容吧
    2021-09-09
  • Vue.js实现可配置的登录表单代码详解

    Vue.js实现可配置的登录表单代码详解

    这篇文章主要介绍了Vue.js实现可配置的登录表单实例代码详解,文中给大家补充介绍了vue.js 全选与取消全选的实例代码,需要的朋友可以参考下
    2018-03-03

最新评论