服務(wù)器帶寬不夠?流量有限?速度太慢?開發(fā)者或網(wǎng)站管理者時(shí)常會(huì)用到一些 JS庫(kù),例如最常見(jiàn)的 jQuery 或 css 框架,通常不建議自己在服務(wù)器存儲(chǔ)這些靜態(tài)文件,因?yàn)槌撕牧髁浚部赡芤虼送下W(wǎng)站的載入速度。那怎么辦呢?你需要做的就是CDN加速。
CDN的工作原理就是將您源站的資源緩存到位于全球各地的CDN節(jié)點(diǎn)上,用戶請(qǐng)求資源時(shí),就近返回節(jié)點(diǎn)上緩存的資源,而不需要每個(gè)用戶的請(qǐng)求都回您的源站獲取,避免網(wǎng)絡(luò)擁塞、緩解源站壓力,保證用戶訪問(wèn)資源的速度和體驗(yàn)。這么牛B的功能肯定要錢吧?No,No,No統(tǒng)統(tǒng)不要錢,統(tǒng)統(tǒng)免費(fèi)。

首先,國(guó)內(nèi)比較有名的有七牛云,注冊(cè)認(rèn)證后有10G永久免費(fèi)空間,每月10G國(guó)內(nèi)和10G國(guó)外流量,速度相當(dāng)快,有免費(fèi)ssl證書,但https流量收費(fèi),必須要綁定自己的已備案的域名。
又拍云,注冊(cè)認(rèn)證后有10G永久免費(fèi)空間,每月15G的HTTP和HTTPS流量,需要綁定自己的已備案域名,認(rèn)證比較麻煩。
不好,這倆都不好。我沒(méi)有域名,我就想白嫖,就想順便存點(diǎn)什么,那請(qǐng)使用CDN神器jsdelivr。它可以全球范圍內(nèi)npm、GitHub、wordPress/ target=_blank class=infotextkey>WordPress等項(xiàng)目的鏡像加速,從此讓網(wǎng)頁(yè)不再等待。下面簡(jiǎn)單介紹jsdelivr+GitHub的簡(jiǎn)單使用。

首先,去github創(chuàng)建一個(gè)倉(cāng)庫(kù),名字就叫“mycdn”吧。
接下來(lái),clone
https://github.com/yourname/mycdn.git。將剛剛的項(xiàng)目克隆到本地。根據(jù)自己的需求將靜態(tài)文件放到這個(gè)項(xiàng)目中。下圖是我的項(xiàng)目結(jié)構(gòu):分成css、js、圖片、視頻等文件夾。

第三步,保存更改,提交到github(git add . > git commit -m 'msg' > git push),這個(gè)時(shí)候所有的更改都會(huì)提交到遠(yuǎn)程服務(wù)器。
第四步,點(diǎn)擊release發(fā)布。如下圖,版本號(hào)自己隨意。


點(diǎn)擊 Publish release按鈕(發(fā)布發(fā)行),成功之后你會(huì)看到資源的壓縮包列表。
第五步,在其他項(xiàng)目中訪問(wèn)資源文件。想要使用剛剛發(fā)布的資源也很簡(jiǎn)單,只需要在使用的地方參照網(wǎng)址
https://cdn.jsdelivr.net/gh/{your github name}/mycdn@{版本號(hào),就是上一步你填寫的}/{文件路徑}。例如,
https://cdn.jsdelivr.net/gh/light/[email protected]/image/xw.png這個(gè)就是圖片的訪問(wèn)路徑。
第六步,更新你本地的mycdn項(xiàng)目后,重新提交,發(fā)布,使用不同版本號(hào)就能訪問(wèn)更新后的內(nèi)容,老版本的鏈接不受影響。
總結(jié),jsdelivr確實(shí)很快,但 jsdelivr 有兩個(gè)限制: 單文件不能大于 20M, 倉(cāng)庫(kù)的某版本不能大于 50M。所以使用的適合要多加注意,解決辦法就是分包,分版本。免費(fèi)的東西拿來(lái)用用還是可以的,對(duì)于比較重要的文件還是選擇大服務(wù)商比較放心。