摘要:文章圖片存儲(chǔ)在,網(wǎng)速不佳的朋友,請看使用心得加速雙刃劍或者來我的技術(shù)小站本文以騰訊云平臺(tái)的服務(wù)為例,記錄下在個(gè)人網(wǎng)站開發(fā)和公司項(xiàng)目實(shí)戰(zhàn)中的對使用的心得便宜沒好貨。此時(shí),更應(yīng)該使用來提速。
文章圖片存儲(chǔ)在GitHub,網(wǎng)速不佳的朋友,請看《CDN 使用心得:加速雙刃劍》 或者 來我的技術(shù)小站 godbmw.com
本文以騰訊云平臺(tái)的 CDN 服務(wù)為例,記錄下在個(gè)人網(wǎng)站開發(fā)和公司項(xiàng)目實(shí)戰(zhàn)中的對 CDN 使用的心得:便宜沒好貨。
1. 什么是 CDN?CDN 的全稱是 Content Delivery Network,即內(nèi)容分發(fā)網(wǎng)絡(luò)。其目的是通過在現(xiàn)有的 Internet 中增加一層新的網(wǎng)絡(luò)架構(gòu),將網(wǎng)站的內(nèi)容發(fā)布到最接近用戶的網(wǎng)絡(luò)“邊緣”,使用戶可以就近取得所需的內(nèi)容,提高用戶訪問網(wǎng)站的響應(yīng)速度。
可以簡單理解成:CDN 就是一個(gè)能讓用戶以最快速度訪問到相應(yīng)資源的網(wǎng)盤。
2. 如何訪問 CDN 資源?在云平臺(tái)的控制臺(tái)開啟“對象存儲(chǔ)”服務(wù)后,開啟對應(yīng)的“加速域名”,此時(shí),針對這個(gè)存儲(chǔ)桶,就開啟了 CDN 加速。
如下圖所示,“加速域名”就是 CDN 域名。
在存儲(chǔ)桶下可以進(jìn)行各種文件操作,比如我將友鏈的圖片都放在了/friend文件夾下面:
此時(shí),birdteam.png的 URL 是:https://blog-1255463368.cos.ap-guangzhou.myqcloud.com/friend/birdteam.png;CDN 對應(yīng)的 URL:https://blog-1255463368.file.myqcloud.com/friend/birdteam.png。任何資源都可以用文件路徑拼接的方式來獲得 URL,進(jìn)而獲得資源。
3. 如何在 SPA 應(yīng)用中使用 CDN?時(shí)下火熱的vuejs,reactjs等 SPA 框架以及衍生出來的腳手架,均有利用webpack進(jìn)行打包操作。最無腦的操作就是將打包后的文件直接扔到服務(wù)器上。
然后,用戶訪問網(wǎng)站的時(shí)候,從服務(wù)器拉取資源,速度慢到另人發(fā)指。除此之外,還得考慮做后端緩存,更是出力不討好:)
但是,借助 CDN 可以極大縮小用戶等待時(shí)間,提高訪問體驗(yàn)。同時(shí),云平臺(tái) CDN 還自帶前端緩存,簡單方便。
在vue-cli搭建的vuejs應(yīng)用中,可以通過修改/config/index.js中的配置來更改打包后index.html文件中資源的地址。如下圖所示,更改build.assetsSubDirectory為存儲(chǔ)桶的文件名稱,更改 build.assetsPublicPath為 CDN 的域名:
命令行執(zhí)行npm run build后,打包后的項(xiàng)目文件都放在了/dist/文件下。根據(jù)前面的配置,將/dist/static/文件夾直接上傳到云平臺(tái)的對應(yīng)存儲(chǔ)桶的跟目錄下即可。
查看網(wǎng)站godbmw.com的源碼,可以看到資源都是從 CDN 上獲取了。
4. 不要亂用第三方 CDN在搭建博客之初,因?yàn)橄牍?jié)省一些 CDN 資源,所以,一些第三方 JS 庫并沒有利用npm來進(jìn)行管理,而是通過第三方 CDN 來引入的。比如博客下方的播放組件Aplayer,評論系統(tǒng)Valine等等。
這樣做的好處就是打包體積小了很多(從800+kb降低到了500+kb)。本來以為可以提高用戶訪問速度,但事實(shí)是:免費(fèi)的 CDN 是不穩(wěn)定的。ValineCDN 資源的獲取,有時(shí)候會(huì)阻塞 3s,在網(wǎng)絡(luò)不穩(wěn)定的移動(dòng)端,瀏覽體驗(yàn)非常差。
除了速度不穩(wěn)定,不通過npm管理的項(xiàng)目難以維護(hù)。隔了 2 個(gè)月,就忘記用了什么庫,只能通過翻代碼和查看標(biāo)簽中 CDN 的資源地址來確定。
因此,盡量在項(xiàng)目中使用npm安裝第三方庫,而不是通過第三方平臺(tái)的 CDN 服務(wù)加載對應(yīng)的庫代碼。
5. 寫在最后CDN 的理解和應(yīng)用都非常簡單,沒什么深度,只是經(jīng)驗(yàn)之談(所以文章結(jié)構(gòu)有點(diǎn)散,請諒解)。
目前,各大平臺(tái)的 CDN 免費(fèi)額度對于個(gè)人項(xiàng)目甚至是小型商業(yè)項(xiàng)目是夠用的。例如我的博客打包后才800+kb,而免費(fèi)額度是10G/月,如果能用光免費(fèi)額度,那么也說明網(wǎng)站可以盈利了。此時(shí),更應(yīng)該使用 CDN 來提速。這是一個(gè)良性循環(huán)。
完
文章版權(quán)歸作者所有,未經(jīng)允許請勿轉(zhuǎn)載,若此文章存在違規(guī)行為,您可以聯(lián)系管理員刪除。
轉(zhuǎn)載請注明本文地址:http://systransis.cn/yun/10994.html
摘要:文章圖片存儲(chǔ)在,網(wǎng)速不佳的朋友,請看使用心得加速雙刃劍或者來我的技術(shù)小站本文以騰訊云平臺(tái)的服務(wù)為例,記錄下在個(gè)人網(wǎng)站開發(fā)和公司項(xiàng)目實(shí)戰(zhàn)中的對使用的心得便宜沒好貨。此時(shí),更應(yīng)該使用來提速。 文章圖片存儲(chǔ)在GitHub,網(wǎng)速不佳的朋友,請看《CDN 使用心得:加速雙刃劍》 或者 來我的技術(shù)小站 godbmw.com 本文以騰訊云平臺(tái)的 CDN 服務(wù)為例,記錄下在個(gè)人網(wǎng)站開發(fā)和公司項(xiàng)目實(shí)戰(zhàn)中...
摘要:教程所示圖片使用的是倉庫圖片,網(wǎng)速過慢的朋友請移步系列教程十二處理第三方庫原文地址。因?yàn)檎巾?xiàng)目中,由于需要的依賴過多,掛載到對象的庫,很容易發(fā)生命名沖突問題。會(huì)先從安裝的包中查找是否有符合的庫。證明在中使用的和都成功指向了庫。 教程所示圖片使用的是 github 倉庫圖片,網(wǎng)速過慢的朋友請移步《webpack4 系列教程(十二):處理第三方 JavaScript 庫》原文地址。或者來...
摘要:但硬件加速是把雙刃劍,過渡的使用硬件加速會(huì)適得其反。所以,一定要牢記不要讓頁面的每個(gè)元素都使用硬件加速,當(dāng)且僅當(dāng)需要的時(shí)候才為元素創(chuàng)建渲染層。參考文檔無線性能優(yōu)化動(dòng)畫及硬件加速高性能動(dòng)畫與頁面渲染渲染優(yōu)化層模型 前言 談起瀏覽器的硬件加速,想必大家都知道的一個(gè)技巧就是在用CSS3做動(dòng)畫時(shí),給元素添加transform: translateZ(0)或者transform: transla...
摘要:但硬件加速是把雙刃劍,過渡的使用硬件加速會(huì)適得其反。所以,一定要牢記不要讓頁面的每個(gè)元素都使用硬件加速,當(dāng)且僅當(dāng)需要的時(shí)候才為元素創(chuàng)建渲染層。參考文檔無線性能優(yōu)化動(dòng)畫及硬件加速高性能動(dòng)畫與頁面渲染渲染優(yōu)化層模型 前言 談起瀏覽器的硬件加速,想必大家都知道的一個(gè)技巧就是在用CSS3做動(dòng)畫時(shí),給元素添加transform: translateZ(0)或者transform: transla...
摘要:市面上的渲染器還是有一定的選擇空間的,主要看用戶需求來選擇,選用一個(gè)適合的渲染器?,F(xiàn)在的渲染器目前主要分為兩種,一種是渲染器,一種物理渲染器主要使用進(jìn)行渲染,主要使用進(jìn)行渲染。測試過阿諾德,兩種渲染模式,出圖后的顏色會(huì)有所偏差。市面上的渲染器還是有一定的選擇空間的,主要看用戶需求來選擇,選用一個(gè)適合的渲染器?,F(xiàn)在的渲染器目前主要分為兩種,一種是GPU渲染器,一種物理渲染器主要使用CPU進(jìn)行渲...
閱讀 2366·2021-11-25 09:43
閱讀 2874·2021-11-24 09:39
閱讀 2937·2019-08-30 11:10
閱讀 1146·2019-08-29 16:34
閱讀 610·2019-08-29 13:25
閱讀 3369·2019-08-29 11:21
閱讀 2872·2019-08-26 11:39
閱讀 2404·2019-08-26 11:34