推薦10個(gè)很棒的 JS 庫(kù)
雖然JavaScript本身很棒彤敛,但有它對(duì)應(yīng)生態(tài)圈也很重要束昵,這些圈會(huì)讓 js 更好吼野。開(kāi)發(fā)人員在開(kāi)始一個(gè)新的中等項(xiàng)目時(shí)經(jīng)常喜歡重新寫(xiě)輪子绍载,這是一個(gè)糟糕的策略诡宗,使用第三方庫(kù)是有意義的。因?yàn)檫@樣的庫(kù)有明確的用途击儡,有更長(zhǎng)生成的迭代塔沃,如果遇到問(wèn)題更容易找到解決方法,最主要的一點(diǎn)是提高開(kāi)發(fā)效率阳谍,縮短開(kāi)發(fā)周期蛀柴。
這里并不是說(shuō)我們每個(gè)項(xiàng)目都要使用第三方庫(kù)。 在我們的職業(yè)生涯初期矫夯,最好自己能編寫(xiě)代碼以進(jìn)行學(xué)習(xí)鸽疾。 但是在許多項(xiàng)目中,在有意義的地方使用庫(kù)是一個(gè)不錯(cuò)的策略训貌。
這里推薦 10 個(gè) js 庫(kù)制肮,這些庫(kù)都有很好的文檔,也非常流行递沪,并一直在維護(hù)中豺鼻。
1. Ramda
github:https://github.com/ramda/ramda
文檔:https://ramdajs.com/docs/
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)行柯里化
2. Lodash
github: https://github.com/lodash/lodash
文檔: https://lodash.com/
Lodash仍然是最流行和最有用的 JS 庫(kù)之一笆凌。它免去了處理字符串圣猎、數(shù)組、對(duì)象等的麻煩乞而。目前它在GitHub上有43000顆星星送悔。
有用的功能:
- 遍歷字符串,對(duì)象和數(shù)組
- 創(chuàng)建復(fù)合函數(shù)
- 操作和測(cè)試值
3. Moment
github: https://github.com/moment/moment
文檔: https://momentjs.com/
如果必須處理日期的操作爪模、驗(yàn)證欠啤、解析或格式化,Moment可能是最好的 JS 庫(kù)屋灌。它很輕洁段,很完善,在GitHub上有43000多顆星共郭,它可以在瀏覽器和Node.js中工作祠丝。
以下是一些有關(guān)Moment的示例:
moment().startOf('day').fromNow(); //8 hours ago moment('2019-15-11').isValid() //false moment('2019-02-21').isValid() //true
4. Highlight.js
github: https://github.com/highlightj...
文檔: https://highlightjs.org/
Highlight.js 是一個(gè)用于語(yǔ)法高亮顯示的庫(kù)疾呻,可在瀏覽器和服務(wù)器上使用。 它幾乎可以與任何Markdown一起使用写半,并具有自動(dòng)語(yǔ)言檢測(cè)功能岸蜗。
Highlight.js將在<pre> <code>標(biāo)記之間搜索編程代碼,嘗試自動(dòng)檢測(cè)語(yǔ)言并突出顯示語(yǔ)法叠蝇。 它還支持不同的配色方案璃岳。
下面是一個(gè)用 JS 編寫(xiě)的代碼片段和來(lái)自代碼編輯器的公共主題的示例
[圖片上傳失敗...(image-e2af97-1605954132019)]
5. D3
github: https://github.com/d3/d3
文檔: https://d3js.org/
D3是最流行的數(shù)據(jù)可視化庫(kù),目前在GitHub上有89,500星蟆肆。 它使用Web標(biāo)準(zhǔn)矾睦,并利用現(xiàn)代瀏覽器的強(qiáng)大功能,使數(shù)據(jù)栩栩如生炎功。
6. Three.js
github: https://github.com/mrdoob/thr...
文檔: https://threejs.org/
Three.js是出色的JS 3D庫(kù)枚冗,它使用 WebGL 作為主要渲染器,但也支持其他渲染器蛇损,例如Canvas 2D赁温,SVG和css3D。 它在GitHub上有58,000個(gè)Star淤齐,我們可以用它創(chuàng)建非彻赡遥酷的東西。
7. Voca
github: https://github.com/panzerdp/voca
文檔: https://vocajs.com/
Voca是一個(gè)用于處理字符串的優(yōu)秀 JS 庫(kù)更啄。目前在GitHub上有2,800顆星稚疹。我們可以使用它來(lái)操作字符串,如更改大小寫(xiě)祭务、修剪内狗、pad、slugify义锥、latinise柳沙、截?cái)唷⑥D(zhuǎn)義等拌倍。
其他功能包括:
- 完整的函數(shù)集赂鲤,可操縱,chop柱恤,格式化数初,轉(zhuǎn)義和查詢字符串
- 易于閱讀和搜索的文檔
- 支持多種環(huán)境,例如 Chrome梗顺,F(xiàn)irefox妙真,Node.js
- 100%的代碼覆蓋率,沒(méi)有依賴性
<u>豌豆資源搜索網(wǎng)站</u>https://55wd.com <u>廣州vi設(shè)計(jì)公司</u>http://www.maiqicn.com
8. Immutable.js
github: https://github.com/immutable-...
文檔: 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)矗漾,如列表锈候,堆棧,映射敞贡,集合等泵琳。
9. Hammer.js
github: https://github.com/hammerjs/h...
文檔: http://hammerjs.github.io/
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í)別器集。
10. Leaflet
github: https://github.com/Leaflet/Le...
文檔: https://leafletjs.com/
在創(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婆跑。
作者:淺笑
鏈接:https://www.cnblogs.com/qianxiaox/p/13700327.html
來(lái)源:博客園
著作權(quán)歸作者所有此熬。商業(yè)轉(zhuǎn)載請(qǐng)聯(lián)系作者獲得授權(quán),非商業(yè)轉(zhuǎn)載請(qǐng)注明出處