最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

Vue項目如何開啟gzip

 更新時間:2025年06月11日 16:48:30   作者:&活在當下&  
這篇文章主要介紹了Vue項目如何開啟gzip的實現方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教

隨著項目的迭代,項目的打包體積會越來越多,項目性能就會逐漸變差,這時候可以開啟 gzip 進行性能優(yōu)化,提升訪問速度,解決頁面白屏時間長的問題。

下面介紹一下 Vue 開啟 gzip 的方法:

gzip 壓縮的方式有兩種

1、在服務端開啟壓縮,當瀏覽器發(fā)起請求時,服務端對傳輸資源進行實時壓縮,然后返回給瀏覽器

2、 對 webpack 配置打包壓縮,并在服務端加上支持 gizp 的配置,當瀏覽器請求時,服務端直接將資源返回給瀏覽器

兩種方法的區(qū)別

  • 第一種是服務端進行實時壓縮,對服務器的性能消耗較大
  • 第二種則是打包后的 dist 文件包體積比較大(因為包含 .gz 文件和源文件)

綜上,兩種方法混合用比較合適,在 webpack 打包時,配置只對超過一定體積的文件進行壓縮,然后配置 nginx ,當瀏覽器發(fā)起請求時,服務端對 .gz 文件進行直接傳輸給瀏覽器,對源文件先進行實時壓縮,在返回給瀏覽器。

第一種方法

直接在 nginx 服務端配置開啟 gzip。

配置如下:

# 開啟服務器實時gzip
  gzip on;
  
  # 開啟靜態(tài)gz文件返回
  gzip_static on;
  
  # 啟用gzip壓縮的最小文件,小于設置值的文件將不會壓縮
  gzip_min_length 1k;
  
  # 設置壓縮所需要的緩沖區(qū)大小     
  gzip_buffers 32 4k;

# 設置gzip壓縮針對的HTTP協議版本
  gzip_http_version 1.0;

  # gzip 壓縮級別,1-9,數字越大壓縮的越好,也越占用CPU時間
  gzip_comp_level 7;

  # 進行壓縮的文件類型。javascript有多種形式。其中的值可以在 mime.types 文件中找到。
  gzip_types text/plain application/javascript application/x-javascript text/css application/xml text/javascript application/x-httpd-php image/jpeg image/gif image/png application/vnd.ms-fontobject font/ttf font/opentype font/x-woff image/svg+xml;

  # 是否在http header中添加Vary: Accept-Encoding,建議開啟
  gzip_vary on;

  # 禁用IE 6 gzip
  gzip_disable "MSIE [1-6]\.";

添加后重啟 nginx ./nginx -s reload ,如下圖,看到響應頭中出現 Content-Encoding:gzip 表示開啟成功

第二種方法

在 Vue 項目中,使用 webpack 來開啟 gzip ,如下:

首先,安裝 compression 插件

npm install compression-webpack-plugin

然后在 vue.config.js 中加上如下配置:

module.exports = {
  chainWebpack: config => {
    const CompressionWebpackPlugin = require('compression-webpack-plugin')
    if (process.env.NODE_ENV === 'production') {
        config.plugin('CompressionPlugin').use(
        	new CompressionWebpackPlugin({
            	filename: '[path][base].gz[query]', // 壓縮后的文件名(保持原文件名,后綴加.gz)
            	algorithm: 'gzip', // 使用gzip壓縮
            	test: /\.js$|\.css$/, // 匹配文件名
            	threshold: 10240, // 對超過10k的數據壓縮
            	minRatio: 1, // 壓縮率小于1才會壓縮
            	deleteOriginalAssets: false // 是否刪除未壓縮的源文件,謹慎設置,如果希望提供非gzip的資源,可不設置或者設置為false(比如刪除打包后的gz后還可以加載到原始資源文件)
          })
        )
   	}
  }
}

打包后,文件中會出現 .gz 文件,如圖:

最后檢查一下 nginx 服務端配置是否支持 gzip ,如果不支持,則需加上如下配置:

    gzip on;
	gzip_static on;
	gzip_min_length  5k;
	gzip_buffers     4 16k;
	gzip_http_version 1.0;
	gzip_comp_level 7;
	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;

總結

以上為個人經驗,希望能給大家一個參考,也希望大家多多支持腳本之家。

相關文章

  • 基于Vue2實現動態(tài)折扣表格

    基于Vue2實現動態(tài)折扣表格

    這篇文章主要為大家詳細介紹了如何基于Vue2實現動態(tài)折扣表格,文中的示例代碼講解詳細,具有一定的借鑒價值,感興趣的小伙伴可以跟隨小編一起學習一下
    2024-01-01
  • 使用element upload上傳組件如何去掉刪除按鈕

    使用element upload上傳組件如何去掉刪除按鈕

    這篇文章主要介紹了使用element upload上傳組件如何去掉刪除按鈕
    2023-07-07
  • Vue非父子組件之間的通信方式詳解

    Vue非父子組件之間的通信方式詳解

    在實際業(yè)務中,除了父子組件通信外,還有很多非父子組件通信的場景,下面這篇文章主要給大家介紹了關于Vue非父子組件之間的通信方式,文中通過實例代碼介紹的非常詳細,需要的朋友可以參考下
    2022-07-07
  • Vue 按鍵修飾符處理事件的方法

    Vue 按鍵修飾符處理事件的方法

    這篇文章主要介紹了Vue 按鍵修飾符的相關資料,vue中新增按鍵修飾符和系統修飾符來處理類似的事件,具體內容詳情大家參考下本文
    2018-05-05
  • vue項目開啟gzip壓縮功能簡單實例

    vue項目開啟gzip壓縮功能簡單實例

    這篇文章主要給大家介紹了關于vue項目開啟gzip壓縮功能的相關資料,gizp壓縮是一種http請求優(yōu)化方式,通過減少文件體積來提高加載速度,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下
    2023-07-07
  • Vue配合iView實現省市二級聯動的示例代碼

    Vue配合iView實現省市二級聯動的示例代碼

    本篇文章主要介紹了Vue配合iView實現省市二級聯動的示例代碼,小編覺得挺不錯的,現在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2018-07-07
  • vue+element+electron仿微信實現代碼

    vue+element+electron仿微信實現代碼

    這篇文章主要介紹了vue+element+electron仿微信實現,本文通過示例代碼給大家介紹的非常詳細,對大家的學習或工作具有一定的參考借鑒價值,需要的朋友可以參考下
    2022-12-12
  • Vue 事件的$event參數=事件的值案例

    Vue 事件的$event參數=事件的值案例

    這篇文章主要介紹了Vue 事件的$event參數=事件的值案例,具有很好的參考價值,希望對大家有所幫助。一起跟隨小編過來看看吧
    2021-01-01
  • VUE零基礎入門axios的使用

    VUE零基礎入門axios的使用

    這篇文章主要介紹了axios在Vue項目中用來向后臺發(fā)送請求(調接口API),獲取響應信息的方法,axios 是一個輕量的 HTTP客戶端,基于 XMLHttpRequest 服務來執(zhí)行 HTTP 請求,需要的朋友們下面隨著小編來一起學習學習吧
    2022-07-07
  • 在Vue中延遲執(zhí)行某個函數的實現方式

    在Vue中延遲執(zhí)行某個函數的實現方式

    在Vue中延遲執(zhí)行某個函數,你可以使用setTimeout()函數或者Vue提供的生命周期鉤子函數,本文通過一些示例代碼給大家介紹的非常詳細,對大家的學習或工作有一定的幫助,需要的朋友可以參考下
    2023-12-12

最新評論

大兴区| 湘乡市| 汝南县| 香港 | 长泰县| 商城县| 佳木斯市| 鄂伦春自治旗| 武安市| 正阳县| 武定县| 井冈山市| 平顶山市| 永平县| 富源县| 隆德县| 丰原市| 甘洛县| 蒲城县| 海南省| 盈江县| 拉萨市| 佛冈县| 叙永县| 高淳县| 梁山县| 花莲县| 普宁市| 阿图什市| 腾冲县| 边坝县| 烟台市| 华宁县| 东丽区| 新沂市| 蓬安县| 泗阳县| 华池县| 呼和浩特市| 资兴市| 思茅市|