自拍偷在线精品自拍偷,亚洲欧美中文日韩v在线观看不卡

3個(gè)很棒的小眾JavaScript庫(kù),你值得擁有

開(kāi)發(fā) 前端
在本文中,小芯將分享3個(gè)鮮為人知但非常強(qiáng)大,且很小的JavaScript庫(kù),這些庫(kù)將使你的生活變得簡(jiǎn)單,也不會(huì)給你的web應(yīng)用程序增加不必要的負(fù)擔(dān)。

JavaScript有很多庫(kù),每個(gè)人都已經(jīng)對(duì)最重要和最受歡迎的庫(kù)做過(guò)總結(jié),但很快再次迷失。

在本文中,小芯將分享3個(gè)鮮為人知但非常強(qiáng)大,且很小的JavaScript庫(kù),這些庫(kù)將使你的生活變得簡(jiǎn)單,也不會(huì)給你的web應(yīng)用程序增加不必要的負(fù)擔(dān)。

JavaScript

1. JS-cookie

OfficialGitHub

在瀏覽器中使用cookies可能會(huì)非常費(fèi)力。JS cookies讓這件事變得簡(jiǎn)單多了,現(xiàn)在我們將學(xué)習(xí)基本知識(shí)。

通過(guò)CDN實(shí)施:

  1. <script src="https://cdn.jsdelivr.net/npm/js-cookie@beta/dist/js.cookie.min.js"></script> 

設(shè)置一個(gè)名為“name”的cookie鍵,其值為“Max”

  1. Cookies.set(‘name’, ‘Max’) 

獲取密鑰為“name”的cookie值

  1. Cookies.get(‘name’) // 'Max' 

創(chuàng)建cookie,讓它在7天后過(guò)期

  1. Cookies.set('name', 'Max', { expires:7 }) 

刪除cookie

  1. Cookies.remove(‘name’) 

得出所有cookie

  1. Cookies.get() // { name: 'Max' } 

[[317765]]

來(lái)源:Pexels

2. Basket.js

OfficialDocumentation

Basket.js是一個(gè)極簡(jiǎn)的腳本加載程序庫(kù),壓縮后只有0.7kB。

(它使用的另一個(gè)庫(kù)壓縮后大約為5kB,如https://github.com/addyosmani/basket.js/issues/61中所述,但仍然很小)

但是basket.js不僅可以加載外部JavaScript,還可以將其緩存在瀏覽器的本地存儲(chǔ)中,這樣在下一頁(yè)請(qǐng)求時(shí),就不必再次通過(guò)網(wǎng)絡(luò)請(qǐng)求外部JavaScript,而只需從本地存儲(chǔ)中加載即可。

但為什么是本地存儲(chǔ)而不是瀏覽器緩存呢?

首先,我個(gè)人認(rèn)為通過(guò)JS庫(kù)在web頁(yè)面代碼中緩存JavaScript文件要容易得多,通常是從服務(wù)器端緩存的。使用Basket.js,很容易在代碼中使用JavaScript動(dòng)態(tài)控制腳本緩存。

我們?cè)囋嚳矗?/p>

實(shí)際的API并沒(méi)有那么復(fù)雜。我認(rèn)為你可以自己探索一下文檔,在下面的簡(jiǎn)單示例中,我們只使用basket.require,因?yàn)樗钦麄€(gè)庫(kù)的核心。

  • basket.require()
  • basket.get()
  • basket.remove()
  • basket.clear()

使用basket.require,我們可以通過(guò)basket加載JS文件。然后這個(gè)文件被緩存在本地存儲(chǔ)中,正如前文所述,下一次basket.require請(qǐng)求這個(gè)文件,例如,當(dāng)重新加載頁(yè)面時(shí),basket將首先在緩存中查找?;蛘呷绻募呀?jīng)緩存在那里,它將通過(guò)本地存儲(chǔ)加載文件,而不是通過(guò)網(wǎng)絡(luò)再次發(fā)出請(qǐng)求。

index.html:

在這里你可以找到庫(kù):

  • 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
  1. <!DOCTYPE html> 
  2. <html lang=”en”> 
  3.   <head> 
  4.     <meta charset=”UTF-8" /> 
  5.     <scriptsrcscriptsrc=”rsvp.min.js”></script> 
  6.     <scriptsrcscriptsrc=”basket.min.js”></script> 
  7.     <title>Document</title> 
  8. </head> 
  9. <body> 
  10.   <script> 
  11.     basket.require({ url:'/scripts/jquery.js' }) 
  12. </script> 
  13. </body> 
  14. </html> 

如你所見(jiàn),首先導(dǎo)入Basket.js需要的RSVP庫(kù)。然后回到Basket本身,在body中可以執(zhí)行require函數(shù),從某個(gè)地方加載jQuery。

第一次打開(kāi)頁(yè)面時(shí),應(yīng)該看到:

3個(gè)很棒的小眾JavaScript庫(kù),你值得擁有

jQuery是通過(guò)網(wǎng)絡(luò)正常請(qǐng)求的。

但隨著頁(yè)面的重新加載:

3個(gè)很棒的小眾JavaScript庫(kù),你值得擁有

jQuery不再列在Network選項(xiàng)卡中,它是從本地存儲(chǔ)加載。

以上就是整個(gè)“魔法”過(guò)程。

3. Pill

Official Github

“Pill將動(dòng)態(tài)內(nèi)容加載添加到靜態(tài)站點(diǎn),并使內(nèi)容加載更為順暢。”壓縮后大約為1KB。

Pill的開(kāi)發(fā)始于這篇推文:https://twitter.com/sitnikcode/status/1109626507331338240

精髓:大多數(shù)人使用單頁(yè)應(yīng)用程序來(lái)運(yùn)行web應(yīng)用程序,點(diǎn)擊時(shí),不會(huì)加載整個(gè)新頁(yè)面。在大多數(shù)SPA框架中,這是因?yàn)樗袃?nèi)容都基于一個(gè)index.html。

但如果有多個(gè)靜態(tài)頁(yè)面呢?Pill能夠幫你解決。

根據(jù)需要,它將獲取服務(wù)器上其他HTML文件的內(nèi)容,并將當(dāng)前內(nèi)容替換為新的已獲取內(nèi)容。

這是巨大的性能改進(jìn),因?yàn)槲覀兊膽?yīng)用程序不再要求一個(gè)完整的新頁(yè)面。

重要的內(nèi)容剛剛被替換。

使用Pill,能攔截導(dǎo)航嘗試,自動(dòng)完成上述步驟。

Pill最好的一點(diǎn)是,它會(huì)通過(guò)一個(gè)個(gè)示例來(lái)記載,確保檢查所有的東西:你可以在GitHub上找到代碼

(https://GitHub.com/rumkin/pill/tree/master/example)

祝你和Pill合作愉快!

責(zé)任編輯:趙寧寧 來(lái)源: 讀芯術(shù)
相關(guān)推薦

2020-04-27 14:54:45

React庫(kù)開(kāi)發(fā)

2020-09-01 07:41:56

macOS工具

2020-04-16 14:53:39

JavaScript庫(kù)開(kāi)發(fā)

2021-09-06 10:22:47

匿名對(duì)象編程

2018-11-19 15:06:23

Python庫(kù)算法

2014-12-19 10:55:17

Linux性能監(jiān)控

2023-12-29 08:17:26

Python代碼分析Profile

2020-07-25 19:38:54

JavaScriptJavaScript庫(kù)Web

2013-07-05 16:08:40

開(kāi)發(fā)效率

2020-02-03 12:25:35

Python工具服務(wù)器

2022-01-18 16:42:03

區(qū)塊鏈加密信息資源

2021-01-21 09:45:16

Python字符串代碼

2021-03-18 07:52:42

代碼性能技巧開(kāi)發(fā)

2012-03-01 09:15:41

HTML 5

2020-03-01 14:57:47

Python編程函數(shù)

2024-12-18 16:53:13

ncduLinux磁盤(pán)分析

2020-10-09 11:54:33

Vue用戶的React

2020-12-14 13:32:40

Python進(jìn)度條參數(shù)

2023-03-01 07:57:38

PythonAI編程語(yǔ)言

2021-07-05 09:40:57

工具Node開(kāi)源
點(diǎn)贊
收藏

51CTO技術(shù)棧公眾號(hào)