推薦11個實用的JavaScript庫

2019獨角獸企業重金招聘Python工程師標準>>> hot3.png

????????JavaScript 仍然是 2018 年最受歡迎和使用最為廣泛的編程語言,因此 JavaScript 生態系統也會繼續發展壯大。

????????然而,JavaScript 的標準庫仍然繼續保持“短小精悍”的身材。為了填補標準庫功能方面的空白,在過去幾年中,GitHub 上出現了很多流行的 JavaScript 庫。以下列出了 11 個有用的庫,這些庫的維護狀態均很活躍。

?

  • Underscore 和 Lodash(dah)

????????可能大多數人都知道這兩個庫。Underscore 的目的是為 JavaScript 中的常見任務提供實用的函數。Lodash 是下載量最大和被依賴最多的庫之一,旨在為數組、字符串、object 和 argument 對象提供更一致的跨環境迭代支持,并已成為 Underscore 的超集。這兩個庫由相同的核心貢獻者維護,在技術選型時完全可以考慮使用它們。

????????Lodash - https://github.com/lodash/lodash

????????Underscore - https://github.com/jashkenas/underscore

?

  • Ramda

????????在 GitHub 上的 Star 已經超過 12,000,這個庫專為函數式編程而設計,可以輕松創建不改變用戶數據狀態的函數式管道。Ramda 的核心設計理念是創建具有不變性和無副作用的函數。所有的函數會被自動柯里化,并根據易用性安排參數的順序。

????????Ramda - https://github.com/ramda/ramda

?

  • MathJS

????????在 GitHub 上的 Star 已經超過 6000,這個庫是 JavaScript 和 Node.js 的數學擴展庫,與 JavaScript 內置的 Math 庫兼容。該庫包含一個靈活的表達式解析器,能夠運行符號計算,并提供了一系列內置函數和常量。用戶還可以對其進行擴展。

????????MathJS - https://github.com/josdejong/mathjs

?

  • Moment

????????在 GitHub 上的 Star 已經超過 37,000,是一個 JavaScript 日期和時間操作庫,用于解析、驗證、操作和格式化日期。Moment 可以在瀏覽器和 Node.js 中運行。從 2.10.0 版本開始遷移到 ECMAScript 6。

????????Moment - https://github.com/moment/moment

????????另外兩個同類的庫:

????????Date-fns(10,000 個 Star)- https://github.com/date-fns/date-fns

????????DateJS - https://github.com/datejs/Datejs

?

  • Sugar

????????在 GitHub 上的 Star 已經超過 3500,主要用于處理本地對象。這個庫支持自定義構建,還提供了模塊化的 npm 包,因此可以只使用其中必要的部分模塊(也可以與 Bit 結合使用),用戶還可以通過自定義方法或使用插件來應對特定的使用場景。

????????Sugar - https://github.com/andrewplummer/Sugar

?

  • Lazy

????????在 GitHub 上的 Star 將近 5000,是一個功能強大的 JavaScript 庫,它的 lazy 引擎“盡可能地少做一些工作”,同時保持足夠的靈活性。

????????Lazy - https://github.com/dtao/lazy.js

?

  • CollectJS

????????在 GitHub 上的 Star 超過 3200,主要用于處理 JavaScript 中的數組和對象,無需其他依賴,提供了幾十個有用的功能和 API,這些 API 幾乎與 Laravel Collections 5.5 相同。該庫的維護狀態很活躍,值得關注。

???????? CollectJS - https://github.com/ecrmnn/collect.js

?

  • ChanceJS

????????Chance 在 GitHub 上的 Star 超過 3200,一個簡單的隨機對象生成器,用于生成隨機的字符串、數字等。在編寫自動化測試代碼或任何需要隨機對象的地方,可以用它來減少單調的工作。

????????ChanceJS - https://github.com/chancejs/chancejs

?

  • ChartJS

????????在 GitHub 上的 Star 將近 40,000 個,提供了 8 種不同類型的數據可視化,每種類型都支持動畫和定制。借助 Chart.js,我們可以使用標簽創建簡單的HTML5圖表,而且在所有現代瀏覽器中都具有出色的渲染性能。

????????ChartJS - https://github.com/chartjs/Chart.js

?

  • Polished

????????在 GitHub 上的 Star 超過 3500 個,由 styled-components 團隊開發,是一個非常優秀的輕量級工具集,支持使用 JavaScript 編寫具有 SASS 風格輔助函數和 mixin 的樣式。該庫與 styled-components、Aphrodite、Radium 或簡單的內聯樣式兼容。這個庫可以在 GitHub 上找到,Bit 社區(非官方)也單獨提供所有的功能,因此可以單獨安裝、導入和使用。

????????Polished - https://github.com/styled-components/polished

????????Bit 社區提供的單獨安裝版 - https://bitsrc.io/ranm8/polished

?

  • Mout

????????Mout.js 是一組模塊化的 JavaScript 庫,可以在瀏覽器或 node.js 中運行,提供類似于其他語言標準庫(Python、Ruby、PHP 等)中的輔助方法。mout.js 允許僅加載必需的模塊或函數,并提供了一致的 API,規范了跨瀏覽器行為。

????????Mout - https://github.com/mout/mout

?

特別推薦

  • Bit utils

????????一個模塊化和高性能的庫,已經被用在 Bit 的 web hub 中。這些函數可使用 NPM/Yarn 進行單獨安裝,用戶也可以創建自己的集合,并從不同的庫和項目中收集有用的功能。

????????Bit utils - https://bitsrc.io/bit/utils

?

  • Voca

????????一個用于操作字符串的 JavaScript 庫。它提供的功能包括大小寫轉換、trim、pad、slugify、latinise、sprintf、truncate、escape 等。用戶可以加載單個函數,以便最小化應用程序的構建。該庫具有很高的測試覆蓋率,并且不依賴其他庫。

????????Voca - https://github.com/panzerdp/voca

?

  • Licia

????????只有 400 個 Star,這個有趣的項目基本上是一個簡單但有用的 JavaScript 片段集合,具有很高的測試覆蓋率,文檔也很齊全。

????????Licia - https://github.com/liriliri/licia

?

作者 | Jonathan Saring

編輯 | 無明

轉載于:https://my.oschina.net/Mohan710/blog/1914539

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390036.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390036.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390036.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

371. 兩整數之和

371. 兩整數之和 給你兩個整數 a 和 b ,不使用 運算符 和 - ???????,計算并返回兩整數之和。 示例 1: 輸入:a 1, b 2 輸出:3 示例 2: 輸入:a 2, b 3 輸出:5 提示&a…

【福利】微信小程序精選Demo合集

小編最近在開發小程序,也讀到了不少優秀的小程序源碼,項目中有些需求可以直接從源碼里粘貼復制過來,雖然這樣做不利于自己獨立編寫代碼,但比較是給公司做項目啊,秉著效率第一的原則,簡直沒有什么比ctrlc,ct…

639. 解碼方法 II

639. 解碼方法 II 一條包含字母 A-Z 的消息通過以下的方式進行了編碼: A -> 1 B -> 2 ... Z -> 26要 解碼 一條已編碼的消息,所有的數字都必須分組,然后按原來的編碼方案反向映射回字母(可能存在多種方式)。…

[cpyhon源代碼]dict對象原理學習

Cpython 2.7 分支中,dict 對象的源代碼 lookdict 搜索算法 1 static PyDictEntry *2 lookdict(PyDictObject *mp, PyObject *key, register long hash)3 {4 register size_t i;5 register size_t perturb;6 register PyDictEntry *freeslot;7 regis…

熊貓數據集_熊貓邁向數據科學的第一步

熊貓數據集I started learning Data Science like everyone else by creating my first model using some machine learning technique. My first line of code was :通過使用某種機器學習技術創建我的第一個模型,我開始像其他所有人一樣學習數據科學。 我的第一行代…

SQLServer鎖的機制

SQLServer鎖的機制:共享鎖(S)排它鎖(X)更新鎖(U)意向共享 (IS)意向排它 (IX) 意向排它共享 (SIX)架構修改(Sch-M) 架構穩定性(Sch-S)大容量更新(BU)轉載于:https://www.cnblogs.com/yldIndex/p/8603902.html

你是否具有價值

一個有價值的人往往受歡迎的程度才會高。白天上午花了兩個多小時的時間幫前同事遠程解決了服務器部署時由于防火墻機制問題引起的系統功能失敗的問題。解決完這個問題之后,同事的心情很愉悅,其實我自己的心情也很愉悅,看來人都有幫助別人和被…

為什么選擇做班級管理系統_為什么即使在平衡的班級下準確性也很麻煩

為什么選擇做班級管理系統Accuracy is a go-to metric because it’s highly interpretable and low-cost to evaluate. For this reason, accuracy — perhaps the most simple of machine learning metrics — is (rightfully) commonplace. However, it’s also true that m…

使用Chrome開發者工具調試Android端內網頁(微信,QQ,UC,App內嵌頁等)

使用Chrome開發者工具調試Android端內網頁(微信,QQ,UC,App內嵌頁等) 傳送門轉載于:https://www.cnblogs.com/momozjm/p/9389912.html

517. 超級洗衣機

517. 超級洗衣機 假設有 n 臺超級洗衣機放在同一排上。開始的時候&#xff0c;每臺洗衣機內可能有一定量的衣服&#xff0c;也可能是空的。 在每一步操作中&#xff0c;你可以選擇任意 m (1 < m < n) 臺洗衣機&#xff0c;與此同時將每臺洗衣機的一件衣服送到相鄰的一臺…

netflix的準實驗面臨的主要挑戰

重點 (Top highlight)Kamer Toker-Yildiz, Colin McFarland, Julia GlickKAMER Toker-耶爾德茲 &#xff0c; 科林麥克法蘭 &#xff0c; Julia格里克 At Netflix, when we can’t run A/B experiments we run quasi experiments! We run quasi experiments with various obje…

網站漏洞檢測針對區塊鏈網站安全分析

2019獨角獸企業重金招聘Python工程師標準>>> 目前移動互聯網中&#xff0c;區塊鏈的網站越來越多&#xff0c;在區塊鏈安全上&#xff0c;很多都存在著網站漏洞&#xff0c;區塊鏈的充值&#xff0c;會員賬號的存儲性XSS竊取漏洞&#xff0c;賬號安全&#xff0c;等…

223. 矩形面積

223. 矩形面積 給你 二維 平面上兩個 由直線構成的 矩形&#xff0c;請你計算并返回兩個矩形覆蓋的總面積。 每個矩形由其 左下 頂點和 右上 頂點坐標表示&#xff1a; 第一個矩形由其左下頂點 (ax1, ay1) 和右上頂點 (ax2, ay2) 定義。 第二個矩形由其左下頂點 (bx1, by1) …

微觀計量經濟學_微觀經濟學與數據科學

微觀計量經濟學什么是經濟學和微觀經濟學&#xff1f; (What are Economics and Microeconomics?) Economics is a social science concerned with the production, distribution, and consumption of goods and services. It studies how individuals, businesses, governmen…

NPM 重新回爐

官方教程傳送門( 英文 ) 本文主要是官方文章的精煉,適合想了解一些常用操作的同學們 NPM 是 基于node的一個包管理工具 , 安裝node環境時會自帶安裝NPM. NPM版本管理 查看現有版本 npm -v 安裝最新的穩定版本 npm install npmlatest -g 安裝最新的測試版本 npm install npmn…

1436. 旅行終點站

1436. 旅行終點站 給你一份旅游線路圖&#xff0c;該線路圖中的旅行線路用數組 paths 表示&#xff0c;其中 paths[i] [cityAi, cityBi] 表示該線路將會從 cityAi 直接前往 cityBi 。請你找出這次旅行的終點站&#xff0c;即沒有任何可以通往其他城市的線路的城市。 題目數據…

如何使用fio模擬線上環境

線上表現 這里我想通過fio來模擬線上的IO場景&#xff0c;那么如何模擬呢&#xff1f; 首先使用iostat看線上某個盤的 使用情況&#xff0c;這里我們需要關注的是 avgrq-sz, avgrq-qz. #iostat -dx 1 1000 /dev/sdk Device: rrqm/s wrqm/s r/s w/s rkB/s …

熊貓數據集_熊貓邁向數據科學的第二部分

熊貓數據集If you haven’t read the first article then it is advised that you go through that before continuing with this article. You can find that article here. So far we have learned how to access data in different ways. Now we will learn how to analyze …

Python基礎綜合練習

Pycharm開發環境設置與熟悉。 練習基本輸入輸出&#xff1a; print(你好,{}..format(name)) print(sys.argv) 庫的使用方法&#xff1a; import ... from ... import ... 條件語句&#xff1a; if (abs(pos()))<1: break 循環語句&#xff1a; for i in range(5): while Tru…

POJ 3608 旋轉卡殼

思路&#xff1a; 旋轉卡殼應用 注意點&邊 邊&邊 點&點 三種情況 //By SiriusRen #include <cmath> #include <cstdio> #include <algorithm> using namespace std; const double eps1e-5; const int N10050; typedef double db; int n,m; str…