2020年面向前端開發人員的10個很棒的 JS 庫

做者:Simon Holdorf
譯者:前端小智
來源:medium
點贊再看,養成習慣

本文 GitHub https://github.com/qq44924588... 上已經收錄,更多往期高贊文章的分類,也整理了不少個人文檔,和教程資料。歡迎Star和完善,你們面試能夠參照考點複習,但願咱們一塊兒有點東西。javascript

雖然JavaScript自己很棒,但有它對應生態圈也很重要,這些圈會讓 JS 更好。開發人員在開始一個新的中等項目時常常喜歡從新寫輪子,這是一個糟糕的策略,使用第三方庫是有意義的。由於這樣的庫有明確的用途,有更長生成的迭代,若是遇到問題更容易找到解決方法,最主要的一點是提升開發效率,縮短開發週期。前端

這裏並非說咱們每一個項目都要使用第三方庫。 在咱們的職業生涯初期,最好本身能編寫代碼以進行學習。 可是在許多項目中,在有意義的地方使用庫是一個不錯的策略。java

這裏推薦 10 個 JS 庫,這些庫都有很好的文檔,也很是流行,並一直在維護中。git

1. Ramda

github:https://github.com/ramda/ramdagithub

文檔:https://ramdajs.com/docs/面試

Ramda 是一個用於函數式編程的很酷的 JS 庫,目前在GitHub上有18000個星星。JS 的一個優勢是開發人員能夠選擇函數式編程仍是面向對象編程。這兩種方法各有利弊,可是若是你喜歡函數式編程,那麼必定要看看Ramda編程

主要功能是:數組

  • 不變性和無反作用的函數
  • 幾乎全部的函數都是自動柯里化的
  • 參數設置爲Ramda函數,便於進行柯里化

2. Lodash

github: https://github.com/lodash/lodash瀏覽器

文檔: https://lodash.com/緩存

Lodash仍然是最流行和最有用的 JS 庫之一。它免去了處理字符串、數組、對象等的麻煩。目前它在GitHub上有43000顆星星。

有用的功能:

  • 遍歷字符串,對象和數組
  • 建立複合函數
  • 操做和測試值

3. Moment

github: https://github.com/moment/moment

文檔: https://momentjs.com/

若是必須處理日期的操做、驗證、解析或格式化,Moment多是最好的 JS 庫。它很輕,很完善,在GitHub上有43000多顆星,它能夠在瀏覽器和Node.js中工做。

如下是一些有關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 是一個用於語法高亮顯示的庫,可在瀏覽器和服務器上使用。 它幾乎能夠與任何Markdown一塊兒使用,並具備自動語言檢測功能。

Highlight.js將在<pre> <code>標記之間搜索編程代碼,嘗試自動檢測語言並突出顯示語法。 它還支持不一樣的配色方案。

下面是一個用 JS 編寫的代碼片斷和來自代碼編輯器的公共主題的示例

clipboard.png

5. D3

github: https://github.com/d3/d3

文檔: https://d3js.org/

D3是最流行的數據可視化庫,目前在GitHub上有89,500星。 它使用Web標準,並利用現代瀏覽器的強大功能,使數據栩栩如生。

clipboard.png

6. Three.js

github: https://github.com/mrdoob/thr...

文檔: https://threejs.org/

Three.js是出色的JS 3D庫,它使用 WebGL 做爲主要渲染器,但也支持其餘渲染器,例如Canvas 2DSVGCSS3D。 它在GitHub上有58,000個Star,咱們能夠用它建立很是酷的東西。

圖片描述

7. Voca

github: https://github.com/panzerdp/voca

文檔: https://vocajs.com/

Voca是一個用於處理字符串的優秀 JS 庫。目前在GitHub上有2,800顆星。咱們可使用它來操做字符串,如更改大小寫、修剪、pad、slugify、latinise、截斷、轉義等。

其餘功能包括:

  • 完整的函數集,可操縱,chop,格式化,轉義和查詢字符串
  • 易於閱讀和搜索的文檔
  • 支持多種環境,例如 Chrome,Firefox,Node.js
  • 100%的代碼覆蓋率,沒有依賴性

8. Immutable.js

github: https://github.com/immutable-...

文檔: https://immutable-js.github.i...

使用不可變數據結構具備一些主要優勢,例如簡化了應用程序開發,無防護性拷貝以及高級緩存概念。

Immutable.js供了不變的數據結構,如列表,堆棧,映射,集合等。

9. Hammer.js

github: https://github.com/hammerjs/h...

文檔: http://hammerjs.github.io/

Hammer.js是一個 JS 庫,具備20,900個GitHub Stars,可爲Web應用程序帶來多點觸摸手勢。 它很小,沒有任何依賴性,而且能夠識別由觸摸,鼠標或指針事件產生的手勢。 默認狀況下,它會添加用於點擊,雙擊,滑動,按下等的識別器,可是您能夠定義本身的此類識別器集。

10. Leaflet

github: https://github.com/Leaflet/Le...

文檔: https://leafletjs.com/

在建立移動友好的交互式地圖時,Leaflet 是一個很棒的 JS 庫。它是開源的,在GitHub上有26700個星星,很是輕量,而且擁有大多數開發人員須要的全部特性。

它能夠在全部主流的移動和桌面平臺上開箱即用,能夠經過插件進行擴展,而且有一個文檔良好的、簡單的API。

clipboard.png


代碼部署後可能存在的BUG無法實時知道,過後爲了解決這些BUG,花了大量的時間進行log 調試,這邊順便給你們推薦一個好用的BUG監控工具 Fundebug

原文:https://hackr.io/blog/best-ja...


交流

文章每週持續更新,能夠微信搜索「 大遷世界 」第一時間閱讀和催更(比博客早一到兩篇喲),本文 GitHub https://github.com/qq449245884/xiaozhi 已經收錄,整理了不少個人文檔,歡迎Star和完善,你們面試能夠參照考點複習,另外關注公衆號,後臺回覆福利,便可看到福利,你懂的。

相關文章
相關標籤/搜索