vue項(xiàng)目打包gzip壓縮

gzip是一種壓縮技術(shù)。經(jīng)過gzip壓縮后頁面大小可以變?yōu)樵瓉淼?0%甚至更小,這樣,用戶瀏覽頁面的時(shí)候速度會(huì)快得多,需要nginx也啟用gzip

vue-cli2.x中啟用gzip

安裝低版本才不會(huì)報(bào)錯(cuò)

// 安裝低版本
npm install --save-dev compression-webpack-plugin@1.1.2

配置位置
config\index.js

image.png

build\webpack.prod.conf.js
image.png

webpackConfig.plugins.push(
    new CompressionWebpackPlugin({
      asset: '[path].gz[query]',
      algorithm: 'gzip',
      test: new RegExp(
        '\\.(' +
        config.build.productionGzipExtensions.join('|') +
        ')$'
      ),
      threshold: 10240,
      // deleteOriginalAssets:true, //刪除源文件,不建議
      minRatio: 0.8
    })
  )

vue-cli3.x

安裝低版本

npm i --save-dev compression-webpack-plugin@5.0.1

對(duì)vue.config.js進(jìn)行配置
// 打包 使用gzip壓縮
const CompressionWebpackPlugin = require('compression-webpack-plugin');

// 定義壓縮文件類型

const productionGzipExtensions = ['js', 'css'];

module.exports = {
  ...
  configureWebpack: {
    plugins: [
      new CompressionWebpackPlugin({
        filename: '[path].gz[query]',
        algorithm: 'gzip',
        test: new RegExp('\\.(' + productionGzipExtensions.join('|') + ')$'), // 匹配文件名

        threshold: 10240, // 對(duì)超過10K的數(shù)據(jù)進(jìn)行壓縮

        minRatio: 0.8, // 極小比
      }),
    ]
  },
}

運(yùn)行npm run build后出現(xiàn)gz結(jié)尾的文件就成功了


image.png
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

相關(guān)閱讀更多精彩內(nèi)容

友情鏈接更多精彩內(nèi)容