工作中一直在做一款公司內(nèi)部的BI工具,將數(shù)據(jù)可視化的報表賦能給業(yè)務人員,報表配置者通過簡單的拖拽操作即可生成報表。隨著系統(tǒng)不斷的完善,加上運維推廣,我們積累了越來越多的用戶。這時候用戶體驗的方方面面都體現(xiàn)出來了。我們也停下產(chǎn)品的功能迭代,將整個系統(tǒng)進行優(yōu)化,旨在提升用戶體驗。以下是我對前端項目的優(yōu)化總結(jié)。
Webpack 打包優(yōu)化項目中在使用的 Webpack 版本是3.x,本次優(yōu)化的方案仍然是基于Webpack3.x版本的 Vue 腳手架進行優(yōu)化。升級4.x在計劃中。。。
之前也總結(jié)過一次 Webpack 2.x 在Vue2.x項目中的應用,提到過 Webpack 工程的一些優(yōu)化方案,以下算是一個補充。
開啟Gzip嘗試了下開啟gzip,直接受益還是比較大的。下面是實際項目中打包結(jié)果。
Parsed的js,1.38M
Gizpped的js - 421.46K
通過數(shù)據(jù)分析,減少了**70.28%**的打包體積。
開啟方式,在腳手架中修改配置文件:/config/index.js
// 生產(chǎn)模式
build: {
productionGzip: true // 開啟Gzip壓縮
}
同時服務端 nginx 加入配置項
gzip on; gzip_min_length 1k; gzip_buffers 4 16k; gzip_comp_level 6; gzip_types application/javascript text/plain application/x-javascript text/css application/xml text/javascript application/json; gzip_vary on;
重啟 nginx 后刷新頁面,在Chrome develop tools中 Network 查看網(wǎng)絡鏈接
Request Headers 中出現(xiàn) Accept-Encoding: gzip 代表客戶端能夠理解 gzip 壓縮編碼方式
Response Headers 中出現(xiàn) Content-Encoding 代表服務端指明以 gzip 編碼方式對數(shù)據(jù)進行壓縮
這一對請求頭部關鍵字搭配出現(xiàn),說明配置成功。
使用 Preload 插件
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://www.ezyhdfw.cn/yun/7230.html
摘要:在實際開發(fā)項目中,有時我們會用到自定義按鈕因為一個項目中,眾多的頁面,為了統(tǒng)一風格,我們會重復用到很多相同或相似的按鈕,這時候,自定義按鈕組件就派上了大用場,我們把定義好的按鈕組件導出,在全局引用,就可以在其他組件隨意使用啦,這樣可以大幅度 在實際開發(fā)項目中,有時我們會用到自定義按鈕;因為一個項目中,眾多的頁面,為了統(tǒng)一風格,我們會重復用到很多相同或相似的按鈕,這時候,自定義按鈕組件就...
摘要:代碼整潔之道整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護,同時降低幾率。另外這不是強制的代碼規(guī)范,就像原文中說的,。里式替換原則父類和子類應該可以被交換使用而不會出錯。注釋好的代碼是自解釋的。 JavaScript代碼整潔之道 整潔的代碼不僅僅是讓人看起來舒服,更重要的是遵循一些規(guī)范能夠讓你的代碼更容易維護,同時降低bug幾率。 原文clean-c...
摘要:接著我之前寫的一篇有關前端面試題的總結(jié),分享幾道比較經(jīng)典的題目第一題考點作用域,運算符栗子都會進行運算,但是最后之后輸出最后一個也就是那么其實就是而且是個匿名函數(shù),也就是屬于,就輸出第二和第三個都是類似的,而且作用域是都是輸出最后一個其實就 接著我之前寫的一篇有關前端面試題的總結(jié),分享幾道比較經(jīng)典的題目: 第一題: showImg(https://segmentfault.com/im...
對比內(nèi)容UCloudStackZStackVMwareQingCloud騰訊TStack華為云Stack優(yōu)勢總結(jié)?基于公有云自主可控?公有云架構(gòu)私有化部署?輕量化/輕運維/易用性好?政府行業(yè)可復制案例輕量化 IaaS 虛擬化平臺?輕量化、產(chǎn)品成熟度高?業(yè)內(nèi)好評度高?功能豐富、交付部署快?中小企業(yè)案例多全套虛擬產(chǎn)品及云平臺產(chǎn)品?完整生態(tài)鏈、技術成熟?比較全面且健全的渠道?產(chǎn)品成熟度被市場認可,市場占...
摘要:能跨平臺地設置及使用環(huán)境變量讓這一切變得簡單,不同平臺使用唯一指令,無需擔心跨平臺問題安裝方式改寫使用了環(huán)境變量的常見如在腳本多是里這么配置運行,這樣便設置成功,無需擔心跨平臺問題關于跨平臺兼容,有幾點注意 cross-env能跨平臺地設置及使用環(huán)境變量, cross-env讓這一切變得簡單,不同平臺使用唯一指令,無需擔心跨平臺問題 1、npm安裝方式 npm i --save-de...
摘要:引入的模塊引入的使用將打包打包的拆分將一部分抽離出來物理地址拼接優(yōu)化打包速度壓縮代碼,這里使用的是,同樣在的里面添加 const path = require(path); //引入node的path模塊const webpack = require(webpack); //引入的webpack,使用lodashconst HtmlWebpackPlugin = require(ht...
閱讀 1990·2021-11-11 16:55
閱讀 2211·2021-10-08 10:13
閱讀 804·2019-08-30 11:01
閱讀 2224·2019-08-29 13:19
閱讀 3343·2019-08-28 18:18
閱讀 2675·2019-08-26 13:26
閱讀 634·2019-08-26 11:40
閱讀 1943·2019-08-23 17:17