這三個(gè)精巧且很棒 JS 庫(kù),值得你親手試試
在本文中,介紹3個(gè)鮮為人知,但功能非常強(qiáng)大且體積很小的 JavaScript 庫(kù),這些可以幫助提高開(kāi)發(fā)效率,減輕開(kāi)發(fā)難度,讓你加班少少的,請(qǐng)收納。
1. Basket.js
網(wǎng)址: https://addyosmani.com/basket.js/
Basket.js是一個(gè)極小的 JS 庫(kù),壓縮后的大小僅為0.7 kB。
Basket.js不僅用于加載外部 JavaScript,它還將它們緩存在瀏覽器的本地存儲(chǔ)中,這樣,在下一次請(qǐng)求頁(yè)面時(shí),外部 JavaScript 就不必再通過(guò)網(wǎng)絡(luò)請(qǐng)求了,只需從本地存儲(chǔ)中加載即可。
但是為什么是本地存儲(chǔ)而不是瀏覽器緩存?
首先,我個(gè)人發(fā)現(xiàn)通過(guò)網(wǎng)頁(yè)代碼中的 JS 庫(kù)緩存 JavaScript 文件要容易得多,該代碼通常是從服務(wù)器端緩存的。使用Basket.js,現(xiàn)在可以很容易地使用代碼中的JavaScript動(dòng)態(tài)控制腳本緩存。
試一試:
Basket.js的API并不那么復(fù)雜。你可以自行瀏覽文檔,親手試試。在我們的小示例中,僅使用basket.require,因?yàn)樗钦麄€(gè)庫(kù)的核心。
- basket.require()
- basket.get()
- basket.remove()
- basket.clear()
使用basket.require,我們可以通過(guò)basket加載JS文件。然后將該文件緩存在本地存儲(chǔ)中(如前所述),并將在下一個(gè) basket.require 緩存。例如 重新加載頁(yè)面時(shí),Basket會(huì)首先在緩存中查找,如果文件已經(jīng)緩存在其中,它將通過(guò)本地存儲(chǔ)加載文件,而不是通過(guò)網(wǎng)絡(luò)再次請(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
- <!DOCTYPE html>
- <html lang=”en”>
- <head>
- <meta charset=”UTF-8" />
- <script src=”rsvp.min.js”></script>
- <script src=”basket.min.js”></script>
- <title>Document</title>
- </head>
- <body>
- <script>
- basket.require({ url: '/scripts/jquery.js' })
- </script>
- </body>
- </html>
如上所見(jiàn),我們首先導(dǎo)入了rsvp庫(kù),然后是Basket本身,接著在正文中我們可以執(zhí)行我們的require函數(shù),以從某個(gè)地方加載jQuery。
首次打開(kāi)頁(yè)面時(shí),應(yīng)該看到以下內(nèi)容:
但是隨著頁(yè)面的重新加載, jquery 就不會(huì)在重新請(qǐng)求了:
2. Pill
github: https://github.com/rumkin/pill
Pill為靜態(tài)站點(diǎn)添加了動(dòng)態(tài)內(nèi)容加載,使用戶的內(nèi)容加載更加流暢。該庫(kù)壓縮后大約是1kb。
精髓:我們大多數(shù)人使用單頁(yè)應(yīng)用程序來(lái)?yè)碛芯W(wǎng)絡(luò)應(yīng)用程序,當(dāng)我們導(dǎo)航時(shí),這些應(yīng)用程序不會(huì)加載整個(gè)新頁(yè)面。在大多數(shù)SPA框架中,這樣做是因?yàn)樗袃?nèi)容都基于一個(gè)index.html。
但是,如果我們有多個(gè)靜態(tài)頁(yè)面怎么辦?Pill 就是一個(gè)解決方案。
根據(jù)需要,它可以獲取服務(wù)器上其他HTML文件的內(nèi)容,并用新的已獲取文件替換當(dāng)前內(nèi)容。由于我們的應(yīng)用程序不需要新的頁(yè)面,因此可以極大地提高性能。
使用Pill,這是自動(dòng)完成的,因?yàn)樗鼤?huì)攔截導(dǎo)航嘗試。
Pill 還有一個(gè)很好的點(diǎn)是它的文檔做的很好,更多用法可以在[文檔][2]里找到。
3. JS-cookie
github:https://github.com/js-cookie/js-cookie
在瀏覽器中使用Cookie可能會(huì)非常費(fèi)力。JS-cookies使這變得容易得多,現(xiàn)在我們將介紹基礎(chǔ)知識(shí)。
通過(guò) CDN 引入:
- <script src="https://cdn.jsdelivr.net/npm/js-cookie@beta/dist/js.cookie.min.js"></script>
設(shè)置一個(gè)名為'name'的 cookie 鍵,其值為 '前端小智':
- Cookies.set('name', '前端小智')
使用'name'鍵獲取 Cookie 的值:
- Cookies.get('name') // '前端小智'
創(chuàng)建cookie,讓它在7天后過(guò)期:
- Cookies.remove('name')
獲取所有 Cookies
- Cookies.get() // { name: '前端小智' }
今天就到這里了,希望這三個(gè)庫(kù)對(duì)你有所幫助。































