3個(gè)很棒的小眾JavaScript庫分別是哪些,相信很多沒有經(jīng)驗(yàn)的人對(duì)此束手無策,為此本文總結(jié)了問題出現(xiàn)的原因和解決方法,通過這篇文章希望你能解決這個(gè)問題。
創(chuàng)新互聯(lián)公司是一家專業(yè)從事網(wǎng)站建設(shè)、做網(wǎng)站的網(wǎng)絡(luò)公司。作為專業(yè)的建站公司,創(chuàng)新互聯(lián)公司依托的技術(shù)實(shí)力、以及多年的網(wǎng)站運(yùn)營經(jīng)驗(yàn),為您提供專業(yè)的成都網(wǎng)站建設(shè)、全網(wǎng)整合營銷推廣及網(wǎng)站設(shè)計(jì)開發(fā)服務(wù)!
JavaScript有很多庫,每個(gè)人都已經(jīng)對(duì)最重要和最受歡迎的庫做過總結(jié),但很快再次迷失。
在這將分享3個(gè)鮮為人知但非常強(qiáng)大,且很小的JavaScript庫,這些庫將使你的生活變得簡單,也不會(huì)給你的web應(yīng)用程序增加不必要的負(fù)擔(dān)。
1. JS-cookie
OfficialGitHub
在瀏覽器中使用cookies可能會(huì)非常費(fèi)力。JS cookies讓這件事變得簡單多了,現(xiàn)在我們將學(xué)習(xí)基本知識(shí)。
通過cdn實(shí)施:
設(shè)置一個(gè)名為“name”的cookie鍵,其值為“Max”
Cookies.set(‘name’, ‘Max’)
獲取密鑰為“name”的cookie值
Cookies.get(‘name’) // 'Max'
創(chuàng)建cookie,讓它在7天后過期
Cookies.set('name', 'Max', { expires:7 })
刪除cookie
Cookies.remove(‘name’)
得出所有cookie
Cookies.get() // { name: 'Max' }
來源:Pexels
2. Basket.js
OfficialDocumentation
Basket.js是一個(gè)極簡的腳本加載程序庫,壓縮后只有0.7kB。
(它使用的另一個(gè)庫壓縮后大約為5kB,如https://github.com/addyosmani/basket.js/issues/61中所述,但仍然很小)
但是basket.js不僅可以加載外部JavaScript,還可以將其緩存在瀏覽器的本地存儲(chǔ)中,這樣在下一頁請(qǐng)求時(shí),就不必再次通過網(wǎng)絡(luò)請(qǐng)求外部JavaScript,而只需從本地存儲(chǔ)中加載即可。
但為什么是本地存儲(chǔ)而不是瀏覽器緩存呢?
首先,我個(gè)人認(rèn)為通過JS庫在web頁面代碼中緩存JavaScript文件要容易得多,通常是從服務(wù)器端緩存的。使用Basket.js,很容易在代碼中使用JavaScript動(dòng)態(tài)控制腳本緩存。
我們?cè)囋嚳矗?/p>
實(shí)際的API并沒有那么復(fù)雜。我認(rèn)為你可以自己探索一下文檔,在下面的簡單示例中,我們只使用basket.require,因?yàn)樗钦麄€(gè)庫的核心。
basket.require()
basket.get()
basket.remove()
basket.clear()
使用basket.require,我們可以通過basket加載JS文件。然后這個(gè)文件被緩存在本地存儲(chǔ)中,正如前文所述,下一次basket.require請(qǐng)求這個(gè)文件,例如,當(dāng)重新加載頁面時(shí),basket將首先在緩存中查找?;蛘呷绻募呀?jīng)緩存在那里,它將通過本地存儲(chǔ)加載文件,而不是通過網(wǎng)絡(luò)再次發(fā)出請(qǐng)求。
index.html:
在這里你可以找到庫:
https://addyosmani.com/basket.js/dist/basket.min.js
https://cdn.jsdelivr.net/npm/rsvp@4/dist/rsvp.min.js
https://cdnjs.cloudflare.com/ajax/libs/jquery/3.4.1/jquery.min.js
Document
如你所見,首先導(dǎo)入Basket.js需要的RSVP庫。然后回到Basket本身,在body中可以執(zhí)行require函數(shù),從某個(gè)地方加載jQuery。
第一次打開頁面時(shí),應(yīng)該看到:
jQuery是通過網(wǎng)絡(luò)正常請(qǐng)求的。
但隨著頁面的重新加載:
jQuery不再列在Network選項(xiàng)卡中,它是從本地存儲(chǔ)加載。
以上就是整個(gè)“魔法”過程。
3. Pill
Official Github
“Pill將動(dòng)態(tài)內(nèi)容加載添加到靜態(tài)站點(diǎn),并使內(nèi)容加載更為順暢?!眽嚎s后大約為1KB。
Pill的開發(fā)始于這篇推文:https://twitter.com/sitnikcode/status/1109626507331338240
精髓:大多數(shù)人使用單頁應(yīng)用程序來運(yùn)行web應(yīng)用程序,點(diǎn)擊時(shí),不會(huì)加載整個(gè)新頁面。在大多數(shù)SPA框架中,這是因?yàn)樗袃?nèi)容都基于一個(gè)index.html。
但如果有多個(gè)靜態(tài)頁面呢?Pill能夠幫你解決。
根據(jù)需要,它將獲取服務(wù)器上其他HTML文件的內(nèi)容,并將當(dāng)前內(nèi)容替換為新的已獲取內(nèi)容。
這是巨大的性能改進(jìn),因?yàn)槲覀兊膽?yīng)用程序不再要求一個(gè)完整的新頁面。
重要的內(nèi)容剛剛被替換。
使用Pill,能攔截導(dǎo)航嘗試,自動(dòng)完成上述步驟。
Pill最好的一點(diǎn)是,它會(huì)通過一個(gè)個(gè)示例來記載,確保檢查所有的東西:你可以在GitHub上找到代碼
(https://GitHub.com/rumkin/pill/tree/master/example)
看完上述內(nèi)容,你們掌握3個(gè)很棒的小眾JavaScript庫分別是哪些的方法了嗎?如果還想學(xué)到更多技能或想了解更多相關(guān)內(nèi)容,歡迎關(guān)注創(chuàng)新互聯(lián)行業(yè)資訊頻道,感謝各位的閱讀!