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

這三個精巧且很棒 JS 庫,值得你親手試試

開發(fā) 前端
在本文中,介紹3個鮮為人知,但功能非常強大且體積很小的 JavaScript 庫,這些可以幫助提高開發(fā)效率,減輕開發(fā)難度,讓你加班少少的,請收納。

在本文中,介紹3個鮮為人知,但功能非常強大且體積很小的 JavaScript 庫,這些可以幫助提高開發(fā)效率,減輕開發(fā)難度,讓你加班少少的,請收納。

1. Basket.js

網(wǎng)址: https://addyosmani.com/basket.js/

Basket.js是一個極小的 JS 庫,壓縮后的大小僅為0.7 kB。

Basket.js不僅用于加載外部 JavaScript,它還將它們緩存在瀏覽器的本地存儲中,這樣,在下一次請求頁面時,外部 JavaScript 就不必再通過網(wǎng)絡(luò)請求了,只需從本地存儲中加載即可。

但是為什么是本地存儲而不是瀏覽器緩存?

首先,我個人發(fā)現(xiàn)通過網(wǎng)頁代碼中的 JS 庫緩存 JavaScript 文件要容易得多,該代碼通常是從服務(wù)器端緩存的。使用Basket.js,現(xiàn)在可以很容易地使用代碼中的JavaScript動態(tài)控制腳本緩存。

試一試:

Basket.js的API并不那么復(fù)雜。你可以自行瀏覽文檔,親手試試。在我們的小示例中,僅使用basket.require,因為它是整個庫的核心。

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

使用basket.require,我們可以通過basket加載JS文件。然后將該文件緩存在本地存儲中(如前所述),并將在下一個 basket.require 緩存。例如 重新加載頁面時,Basket會首先在緩存中查找,如果文件已經(jīng)緩存在其中,它將通過本地存儲加載文件,而不是通過網(wǎng)絡(luò)再次請求文件。

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
  1. <!DOCTYPE html> 
  2. <html lang=”en”> 
  3.   <head> 
  4.     <meta charset=”UTF-8" /> 
  5.     <script src=”rsvp.min.js”></script> 
  6.     <script src=”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> 

如上所見,我們首先導(dǎo)入了rsvp庫,然后是Basket本身,接著在正文中我們可以執(zhí)行我們的require函數(shù),以從某個地方加載jQuery。

首次打開頁面時,應(yīng)該看到以下內(nèi)容:

但是隨著頁面的重新加載, jquery 就不會在重新請求了:

2. Pill

github: https://github.com/rumkin/pill

Pill為靜態(tài)站點添加了動態(tài)內(nèi)容加載,使用戶的內(nèi)容加載更加流暢。該庫壓縮后大約是1kb。

精髓:我們大多數(shù)人使用單頁應(yīng)用程序來擁有網(wǎng)絡(luò)應(yīng)用程序,當(dāng)我們導(dǎo)航時,這些應(yīng)用程序不會加載整個新頁面。在大多數(shù)SPA框架中,這樣做是因為所有內(nèi)容都基于一個index.html。

但是,如果我們有多個靜態(tài)頁面怎么辦?Pill 就是一個解決方案。

根據(jù)需要,它可以獲取服務(wù)器上其他HTML文件的內(nèi)容,并用新的已獲取文件替換當(dāng)前內(nèi)容。由于我們的應(yīng)用程序不需要新的頁面,因此可以極大地提高性能。

使用Pill,這是自動完成的,因為它會攔截導(dǎo)航嘗試。

Pill 還有一個很好的點是它的文檔做的很好,更多用法可以在[文檔][2]里找到。

3. JS-cookie

github:https://github.com/js-cookie/js-cookie

在瀏覽器中使用Cookie可能會非常費力。JS-cookies使這變得容易得多,現(xiàn)在我們將介紹基礎(chǔ)知識。

通過 CDN 引入:

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

設(shè)置一個名為'name'的 cookie 鍵,其值為 '前端小智':

  1. Cookies.set('name', '前端小智') 

使用'name'鍵獲取 Cookie 的值:

  1. Cookies.get('name') // '前端小智' 

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

  1. Cookies.remove('name') 

獲取所有 Cookies

  1. Cookies.get() // { name: '前端小智' } 

今天就到這里了,希望這三個庫對你有所幫助。

責(zé)任編輯:趙寧寧 來源: 大遷世界
相關(guān)推薦

2020-04-27 14:54:45

React開發(fā)

2020-03-08 13:24:47

JavaScript開發(fā)

2021-04-16 09:17:39

機器學(xué)習(xí)人工智能AI

2018-04-28 11:03:58

2017-01-06 10:07:39

Linuxwindowsatime

2013-12-09 09:39:26

移動互聯(lián)網(wǎng)云計算

2023-12-28 07:39:58

C#項目框架

2021-03-10 09:42:30

數(shù)字人民幣數(shù)字貨幣區(qū)塊鏈

2021-03-10 14:50:44

數(shù)字人民幣加密貨幣貨幣

2019-06-06 08:48:14

代碼函數(shù)編程語言

2017-06-05 13:53:10

2017-11-02 13:15:18

Linux

2025-01-21 10:56:41

LLMs應(yīng)用系統(tǒng)

2022-02-23 15:17:12

SQL數(shù)據(jù)集數(shù)據(jù)分析

2022-03-30 14:19:36

云安全云計算風(fēng)險

2023-10-26 07:29:06

mongodb十六進制ID

2015-09-23 09:48:04

2025-02-28 08:10:00

C#開發(fā)編碼

2021-10-15 08:32:03

RocketMQ數(shù)據(jù)結(jié)構(gòu)架構(gòu)

2010-06-20 00:38:50

點贊
收藏

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