vue3使用gzip压缩,并跳过特定文件夹

108 阅读1分钟

最近遇到一个问题,在vue3项目中,夹带了一些HTML需要给移动端看,文件夹位置 public/static。 压缩的时候,会报错,所以,配置了一下跳过压缩文件夹 public/static

简单地贴一部分代码,主要是filter,过滤函数的配置 不同系统中文件分隔符是有所差异的,在vue3中,可以从path里取当前环境的分隔符。

import * as path from "path";
import viteCompression from 'vite-plugin-compression'

export default {
  plugins: [
    viteCompression({
      verbose: true,
      disable: false,
      threshold: 10240,
      algorithm: 'gzip',
      ext: '.gz',
      deleteOriginalAssets: false,
      filter: filePath => {
        const fileSep = path.sep;
        const skipPath = "static" + fileSep + "js" + fileSep + "pdf";
        const skipCompress = filePath.indexOf(skipPath) > -1;
        return !skipCompress;
      }
    })
  ]
}