Parcourir la source

feat(vite): 微信本地开发也执行图片压缩,执行太慢了,改为生产才用

Burt il y a 2 ans
Parent
commit
2d4a96cbe8
1 fichiers modifiés avec 34 ajouts et 33 suppressions
  1. 34 33
      vite.config.ts

+ 34 - 33
vite.config.ts

@@ -65,39 +65,40 @@ export default ({ command, mode }) => {
       }),
       viteCompression(), // 会多出一些.gz文件,如xxx.js.gz,这里默认是不会删除xxx.js文件的,如果想删除也可以增加配置
       // 这个图片压缩插件比较耗时,希望仅在生产环境使用
-      viteImagemin({
-        gifsicle: {
-          // gif图片压缩
-          optimizationLevel: 3, // 选择1到3之间的优化级别
-          interlaced: false, // 隔行扫描gif进行渐进式渲染
-          // colors: 2 // 将每个输出GIF中不同颜色的数量减少到num或更少。数字必须介于2和256之间。
-        },
-        optipng: {
-          // png
-          optimizationLevel: 7, // 选择0到7之间的优化级别
-        },
-        mozjpeg: {
-          // jpeg
-          quality: 20, // 压缩质量,范围从0(最差)到100(最佳)。
-        },
-        pngquant: {
-          // png
-          quality: [0.8, 0.9], // Min和max是介于0(最差)到1(最佳)之间的数字,类似于JPEG。达到或超过最高质量所需的最少量的颜色。如果转换导致质量低于最低质量,图像将不会被保存。
-          speed: 4, // 压缩速度,1(强力)到11(最快)
-        },
-        svgo: {
-          // svg压缩
-          plugins: [
-            {
-              name: 'removeViewBox',
-            },
-            {
-              name: 'removeEmptyAttrs',
-              active: false,
-            },
-          ],
-        },
-      }),
+      mode === 'production' &&
+        viteImagemin({
+          gifsicle: {
+            // gif图片压缩
+            optimizationLevel: 3, // 选择1到3之间的优化级别
+            interlaced: false, // 隔行扫描gif进行渐进式渲染
+            // colors: 2 // 将每个输出GIF中不同颜色的数量减少到num或更少。数字必须介于2和256之间。
+          },
+          optipng: {
+            // png
+            optimizationLevel: 7, // 选择0到7之间的优化级别
+          },
+          mozjpeg: {
+            // jpeg
+            quality: 20, // 压缩质量,范围从0(最差)到100(最佳)。
+          },
+          pngquant: {
+            // png
+            quality: [0.8, 0.9], // Min和max是介于0(最差)到1(最佳)之间的数字,类似于JPEG。达到或超过最高质量所需的最少量的颜色。如果转换导致质量低于最低质量,图像将不会被保存。
+            speed: 4, // 压缩速度,1(强力)到11(最快)
+          },
+          svgo: {
+            // svg压缩
+            plugins: [
+              {
+                name: 'removeViewBox',
+              },
+              {
+                name: 'removeEmptyAttrs',
+                active: false,
+              },
+            ],
+          },
+        }),
     ],
     css: {
       postcss: {