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

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

 更新時間:2023年07月24日 11:29:44   作者:阿吧阿巴阿巴  
這篇文章主要給大家介紹了關于vue項目開啟gzip壓縮功能的相關資料,gizp壓縮是一種http請求優(yōu)化方式,通過減少文件體積來提高加載速度,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考下

前言:為了優(yōu)化首屏加載速度,啟用gzip壓縮。

一、安裝compression-webpack-plugin

compression-webpack-plugin文檔

//新版本不太兼容,推薦這個版本
npm install compression-webpack-plugin@6.1.1 --save-dev

二、修改vue.config.js文件

// 1.先引入
const CompressionWebpackPlugin = require('compression-webpack-plugin');

// 2.在configureWebpack下面進行配置(基本配置)
plugins: [
    new CompressionWebpackPlugin({
      // [file] 會被替換成原始資源。[path] 會被替換成原始資源的路徑,[query] 會被替換成查詢字符串
      filename: '[path][base].gz',
      // 壓縮成gzip
      algorithm: 'gzip',
      // 使用正則給匹配到的文件做壓縮,這里是給html、css、js以及字體做壓縮
      test: /\.js$|\.css$|\.html$|\.ttf$|\.eot$|\.woff$/, 
      // 只有大小大于該值的資源會被處理。單位是 bytes。默認值是 0。
      threshold: 10240,
      // 只有壓縮率小于這個值的資源才會被處理。默認值是 0.8。
      minRatio: 0.8
    })
  ]

// 3.然后 yarn build 進行打包得到dist文件夾,就可以看到生成了很多gzip后綴的文件

三、在nodejs中使用

由于我是用nodejs搭建的服務器,因此只記錄用node使用的情況。

1.將dist文件放放在含有nodejs后臺的文件夾下

2.修改server.js文件

const path = require('path');
const fs = require('fs');
//導入express模塊
const express = require('express')
//創(chuàng)建express的服務器實例
const app = express()

app.use((request, response, next) => {
	//由于我是把server.js和dist文件夾放在同一路徑下,因此需要拼接
    const fullPath = path.join(__dirname,'dist',`${request.originalUrl}.gz`);     
    // 檢測是否存在同名.gz壓縮文件
    if (fs.existsSync(fullPath)) {
        // 存在就告訴瀏覽器用gzip編碼格式來解析,并把對應的“.gz”格式文件發(fā)送給瀏覽器。
        response.setHeader('Content-Encoding', 'gzip')  
        response.sendFile(fullPath);
    } else {
        next()
    }
   })

//將dist目錄托管為靜態(tài)資源服務器
app.use(express.static('./dist'))

//調(diào)用app.listen方法,指定端口號并啟動web服務器
app.listen(3140,function(){
    console.log('Express server running at http://127.0.0.1:3140');
})

3.over

可以看到,導致首屏加載過慢的罪魁禍首已經(jīng)壓縮成功啦

總結 

到此這篇關于vue項目開啟gzip壓縮功能的文章就介紹到這了,更多相關vue開啟gzip壓縮內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關文章希望大家以后多多支持腳本之家!

相關文章

  • vue中本地靜態(tài)圖片路徑寫法

    vue中本地靜態(tài)圖片路徑寫法

    這篇文章給大家介紹了vue中本地靜態(tài)圖片路徑寫法及Vue.js中引用圖片路徑的方式,需要的朋友參考下吧
    2018-03-03
  • vue服務端渲染添加緩存的方法

    vue服務端渲染添加緩存的方法

    vue服務區(qū)緩存分為頁面緩存、組建緩存和接口緩存,本文通過實例代碼逐一給大家介紹,本文重點給大家介紹vue服務端渲染添加緩存的方法,感興趣的朋友跟隨小編一起看看吧
    2018-09-09
  • 簡單了解Vue + ElementUI后臺管理模板

    簡單了解Vue + ElementUI后臺管理模板

    這篇文章主要介紹了簡單了解Vue + ElementUI后臺管理模板,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友可以參考下
    2020-04-04
  • Vue開發(fā)Sort組件代碼詳解

    Vue開發(fā)Sort組件代碼詳解

    這篇文章主要介紹了Vue開發(fā)Sort組件,小編覺得挺不錯的,現(xiàn)在分享給大家,也給大家做個參考。一起跟隨小編過來看看吧
    2021-10-10
  • vue嵌套路由與404重定向?qū)崿F(xiàn)方法分析

    vue嵌套路由與404重定向?qū)崿F(xiàn)方法分析

    這篇文章主要介紹了vue嵌套路由與404重定向?qū)崿F(xiàn)方法,結合實例形式分析了vue.js嵌套路由與404重定向的概念、原理、實現(xiàn)步驟與相關操作技巧,需要的朋友可以參考下
    2018-05-05
  • vue如何使用watch監(jiān)聽指定數(shù)據(jù)的變化

    vue如何使用watch監(jiān)聽指定數(shù)據(jù)的變化

    這篇文章主要介紹了vue如何使用watch監(jiān)聽指定數(shù)據(jù)的變化,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2022-04-04
  • Vue3實現(xiàn)跨標簽頁通信的四種方式

    Vue3實現(xiàn)跨標簽頁通信的四種方式

    在Vue應用中,跨標簽頁的通信通常涉及到兩個或多個瀏覽器標簽頁之間的信息共享,由于每個標簽頁或窗口都是獨立的JavaScript執(zhí)行環(huán)境,它們不能直接通過Vue或其他JavaScript庫來直接相互通信,但是,有一些方法可以實現(xiàn)這種跨標簽頁的通信,以下是一些常用的跨標簽頁通信方法
    2025-03-03
  • Vue路由切換和Axios接口取消重復請求詳解

    Vue路由切換和Axios接口取消重復請求詳解

    在web項目開發(fā)的過程中,經(jīng)常會遇到客服端重復發(fā)送請求的場景,下面這篇文章主要給大家介紹了關于Vue路由切換和Axios接口取消重復請求的相關資料,需要的朋友可以參考下
    2022-05-05
  • 解決vue 按鈕多次點擊重復提交數(shù)據(jù)問題

    解決vue 按鈕多次點擊重復提交數(shù)據(jù)問題

    這篇文章主要介紹了vue 按鈕多次點擊重復提交數(shù)據(jù)的問題,本文通過實例結合的形式給大家介紹的非常詳細,需要的朋友可以參考下
    2018-05-05
  • vue + webpack如何繞過QQ音樂接口對host的驗證詳解

    vue + webpack如何繞過QQ音樂接口對host的驗證詳解

    這篇文章主要給大家介紹了關于利用vue + webpack如何繞過QQ音樂接口對host的驗證的相關資料,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧
    2018-07-07

最新評論

连山| 曲周县| 长泰县| 泾阳县| 阿克陶县| 闽侯县| 富源县| 余庆县| 兰坪| 临猗县| 车险| 阿瓦提县| 手游| 会泽县| 富民县| 鄂州市| 平湖市| 池州市| 赣州市| 红桥区| 关岭| 翁源县| 和林格尔县| 泽州县| 修文县| 杨浦区| 朔州市| 望江县| 天峻县| 资溪县| 博湖县| 阿城市| 宜兰县| 锡林郭勒盟| 镇安县| 梅河口市| 义乌市| 兴业县| 宁强县| 温宿县| 成安县|