赞
踩
注意分析时要保持浏览器在当前分析标签页
npm i rollup-plugin-visualizer -D
import visualizer from 'rollup-plugin-visualizer'
export default ({ mode }: ConfigEnv): UserConfig => {
return defineConfig({
plugins: [
vue(),
vueJsx(),
visualizer({
open:true
})
],
项目执行build后,会在根目录生成stats.html文件
鼠标滑动或点击及获取相关信息。
vite.config.ts 加入如下代码
build: {
outDir: 'dist',
chunkSizeWarningLimit: 2000,
cssCodeSplit: true, //css 拆分
sourcemap: false, //不生成sourcemap
minify: false, //是否禁用最小化混淆,esbuild打包速度最快,terser打包体积最小。
assetsInlineLimit: 5000 //小于该值 图片将打包成Base64
},
npm i vite-plugin-compression -D
import viteCompression from 'vite-plugin-compression' plugins: [ vue(), vueJsx(), viteCompression({ // 是否在控制台输出压缩结果 verbose: true, // 是否禁用,相当于开关在这里 disable: false, // 体积大于 threshold 才会被压缩,单位 b,1b=8B, 1B=1024KB 这里相当于 9kb多,就会压缩 threshold: 10240, // 压缩算法,可选 [ 'gzip' , 'brotliCompress' ,'deflate' , 'deflateRaw'] algorithm: 'gzip', //文件后缀名 ext: '.gz', }), visualizer({ open: true }) ],
再次执行build可观看压缩结果
server{ #gzip #开启gzip功能 gzip on; #开启gzip静态压缩功能 gzip_static on; #gzip缓存大小 gzip_buffers 4 16k; #gzip http版本 gzip_http_version 1.1; #gzip 压缩级别 1-10 gzip_comp_level 5; #gzip 压缩类型 gzip_types text/plain application/javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png; gzip_vary on; }
npm i vite-plugin-imagemin -D
vite.config.ts plugins配置
import viteImagemin from 'vite-plugin-imagemin' plugins: [ 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 } ] } }) ],
再次执行build后观察结果
Copyright © 2003-2013 www.wpsshop.cn 版权所有,并保留所有权利。