您好,登錄后才能下訂單哦!
雖然JavaScript本身很棒,但有它對(duì)應(yīng)生態(tài)圈也很重要,這些圈會(huì)讓 JS 更好。開(kāi)發(fā)人員在開(kāi)始一個(gè)新的中等項(xiàng)目時(shí)經(jīng)常喜歡重新寫輪子,這是一個(gè)糟糕的策略,使用第三方庫(kù)是有意義的。因?yàn)檫@樣的庫(kù)有明確的用途,有更長(zhǎng)生成的迭代,如果遇到問(wèn)題更容易找到解決方法,最主要的一點(diǎn)是提高開(kāi)發(fā)效率,縮短開(kāi)發(fā)周期。
這里并不是說(shuō)我們每個(gè)項(xiàng)目都要使用第三方庫(kù)。 在我們的職業(yè)生涯初期,最好自己能編寫代碼以進(jìn)行學(xué)習(xí)。 但是在許多項(xiàng)目中,在有意義的地方使用庫(kù)是一個(gè)不錯(cuò)的策略。
這里推薦 10 個(gè) JS 庫(kù),這些庫(kù)都有很好的文檔,也非常流行,并一直在維護(hù)中。
github: ramda/ramda
文檔: https://
Ramda 是一個(gè)用于函數(shù)式編程的很酷的 JS 庫(kù),目前在GitHub上有18000個(gè)星星。JS 的一個(gè)優(yōu)點(diǎn)是開(kāi)發(fā)人員可以選擇函數(shù)式編程還是面向?qū)ο缶幊?。這兩種方法各有利弊,但是如果你喜歡函數(shù)式編程,那么一定要看看Ramda。
主要功能是:
不變性和無(wú)副作用的函數(shù)
幾乎所有的函數(shù)都是自動(dòng)柯里化的
參數(shù)設(shè)置為Ramda函數(shù),便于進(jìn)行柯里化
github: https:// h https://
如果必須處理日期的操作、驗(yàn)證、解析或格式化,Moment可能是最好的 JS 庫(kù)。它很輕,很完善,在GitHub上有43000多顆星,它可以在瀏覽器和Node.js中工作。
以下是一些有關(guān)Moment的示例:
大家都說(shuō)簡(jiǎn)歷沒(méi)項(xiàng)目寫,我就幫大家找了一個(gè)項(xiàng)目,還附贈(zèng)搭建教程: https:// xiaozhi/issues/210 https:// ...
文檔: https://
Highlight.js 是一個(gè)用于語(yǔ)法高亮顯示的庫(kù),可在瀏覽器和服務(wù)器上使用。 它幾乎可以與任何Markdown一起使用,并具有自動(dòng)語(yǔ)言檢測(cè)功能。
Highlight.js將在<pre> <code>標(biāo)記之間搜索編程代碼,嘗試自動(dòng)檢測(cè)語(yǔ)言并突出顯示語(yǔ)法。 它還支持不同的配色方案。
下面是一個(gè)用 JS 編寫的代碼片段和來(lái)自代碼編輯器的公共主題的示例
github: d3/d3
文檔: https://
D3是最流行的數(shù)據(jù)可視化庫(kù),目前在GitHub上有89,500星。 它使用Web標(biāo)準(zhǔn),并利用現(xiàn)代瀏覽器的強(qiáng)大功能,使數(shù)據(jù)栩栩如生。
github: https:// ...
文檔: https://
Three.js是出色的JS 3D庫(kù),它使用 WebGL 作為主要渲染器,但也支持其他渲染器,例如Canvas 2D,SVG和CSS3D。 它在GitHub上有58,000個(gè)Star,我們可以用它創(chuàng)建非??岬臇|西。
github: panzerdp/voca
文檔: Voca: The ultimate JavaScript string library
Voca是一個(gè)用于處理字符串的優(yōu)秀 JS 庫(kù)。目前在GitHub上有2,800顆星。我們可以使用它來(lái)操作字符串,如更改大小寫、修剪、pad、slugify、latinise、截?cái)唷⑥D(zhuǎn)義等。
其他功能包括:
完整的函數(shù)集,可操縱,chop,格式化,轉(zhuǎn)義和查詢字符串
易于閱讀和搜索的文檔
支持多種環(huán)境,例如 Chrome,F(xiàn)irefox,Node.js
100%的代碼覆蓋率,沒(méi)有依賴性
github: https:// ...
文檔: https://immutable-js.github.i...
使用不可變數(shù)據(jù)結(jié)構(gòu)具有一些主要優(yōu)點(diǎn),例如簡(jiǎn)化了應(yīng)用程序開(kāi)發(fā),無(wú)防御性拷貝以及高級(jí)緩存概念。
Immutable.js供了不變的數(shù)據(jù)結(jié)構(gòu),如列表,堆棧,映射,集合等。
github: https:// ...
文檔: http://
Hammer.js是一個(gè) JS 庫(kù),具有20,900個(gè)GitHub Stars,可為Web應(yīng)用程序帶來(lái)多點(diǎn)觸摸手勢(shì)。 它很小,沒(méi)有任何依賴性,并且可以識(shí)別由觸摸,鼠標(biāo)或指針事件產(chǎn)生的手勢(shì)。 默認(rèn)情況下,它會(huì)添加用于點(diǎn)擊,雙擊,滑動(dòng),按下等的識(shí)別器,但是您可以定義自己的此類識(shí)別器集。
github: https:// ...
文檔: https://
在創(chuàng)建移動(dòng)友好的交互式地圖時(shí),Leaflet 是一個(gè)很棒的 JS 庫(kù)。它是開(kāi)源的,在GitHub上有26700個(gè)星星,非常輕量,并且擁有大多數(shù)開(kāi)發(fā)人員需要的所有特性。
它可以在所有主流的移動(dòng)和桌面平臺(tái)上開(kāi)箱即用,可以通過(guò)插件進(jìn)行擴(kuò)展,并且有一個(gè)文檔良好的、簡(jiǎn)單的API。
免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場(chǎng),如果涉及侵權(quán)請(qǐng)聯(lián)系站長(zhǎng)郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。