大家好,我是若川。持續組織了8個月源碼共讀活動,感興趣的可以點此加我微信 ruochuan12?參與,每周大家一起學習200行左右的源碼,共同進步。同時極力推薦訂閱我寫的《學習源碼整體架構系列》?包含20余篇源碼文章。歷史面試系列
今天來分享 GitHub 上最受歡迎的Top 20 JavaScript 項目,這些多是實用的小型工具庫,快來看看你都用過哪些吧!
1. debug
debug 是一個模仿 Node.js 核心調試技術的小型 JavaScript 調試實用程序。適用于 Node.js 和 Web 瀏覽器。
debug 每周下載量:195,681,684

GitHub:https://github.com/debug-js/debug
2. chalk
chalk 是一個終端字符串美化工具。默認 node 在輸出終端的文字都是黑白的,為了使輸出不再單調,就可以使用這個庫來添加文字背景和字體顏色。
chalk 每周下載量:180,736,619

GitHub:https://github.com/chalk/chalk
3. ms
ms 是一個微小的毫秒轉換實用程序,可以輕松地將各種時間格式轉換為毫秒。
ms 每周下載量:162,813,087
ms('2?days')??//?172800000
ms('1d')??????//?86400000
ms('10h')?????//?36000000
ms('2.5?hrs')?//?9000000
ms('2h')??????//?7200000
ms('1m')??????//?60000
ms('5s')??????//?5000
ms('1y')??????//?31557600000
ms('100')?????//?100
ms('-3?days')?//?-259200000
ms('-1h')?????//?-3600000
ms('-200')????//?-200
GitHub:https://github.com/vercel/ms
4. strip-ansi
strip-ansi 用于從字符串中去掉 ANSI 轉義碼。
strip-ansi 每周下載量:123,800,769
import?stripAnsi?from?'strip-ansi';stripAnsi('\u001B[4mUnicorn\u001B[0m');?//=>?'Unicorn'stripAnsi('\u001B]8;;https://github.com\u0007Click\u001B]8;;\u0007');??//=>?'Click'
GitHub:https://github.com/chalk/strip-ansi
5. Commander
Commander.js 是 Node.js 命令行接口的補全解決方案,靈感來源于 Ruby 的 commander。它使得命令行界面變得簡單。
Commander 每周下載量:90,841,947
GitHub:https://github.com/tj/commander.js
6. yargs
Yargs 框架通過使用 Node.js 構建功能全面的命令行應用,它能輕松配置命令,解析多個參數,并設置快捷方式等,還能自動生成幫助菜單。
yargs 每周下載量:79,505,865

GitHub:https://github.com/yargs/yargs
7. uuid
uuid 用于在 JavaScript 中生成符合 RFC4122 的 UUID。
uuid 每周下載量:76,317,814
import?{?v4?as?uuidv4?}?from?'uuid';
uuidv4();?//???'9b1deb4d-3b7d-4bad-9bdd-2b0d7b3dcb6d'
GitHub:https://github.com/uuidjs/uuid
8. p-limit
p-limit 用于有限的并發運行多個 promise-returning & async 函數。
p-limit 每周下載量:75,841,698
import?pLimit?from?'p-limit';const?limit?=?pLimit(1);const?input?=?[limit(()?=>?fetchSomething('foo')),limit(()?=>?fetchSomething('bar')),limit(()?=>?doSomething())
];//?Only?one?promise?is?run?at?once
const?result?=?await?Promise.all(input);
console.log(result);
GitHub:https://github.com/sindresorhus/p-limit
9. Ajv
Ajv 是一個適用于 Node.js 和瀏覽器的最快 JSON 驗證器。它支持 JSON Schema Draft-04/06/07/2019-09/2020-12 和 JSON 類型定義 (RFC8927)。
Ajv 每周下載量:72,378,941

GitHub:https://github.com/ajv-validator/ajv
10. yallist
yallist 是一個雙向鏈表的實現。
yallist 每周下載量:70,872,400
GitHub:https://github.com/isaacs/yallist
11. postcss
PostCSS 是一個允許使用插件轉換樣式的插件。這些可以檢查(lint)你的 CSS,支持 CSS 變量和 Mixins,編譯尚未被瀏覽器廣泛支持的先進的 CSS 語法,內聯圖片,以及其他許多優秀的工具的功能。
postcss 每周下載量:67,390,371

GitHub:https://github.com/postcss/postcss
12. rimraf
rimraf 是 Node.js 的 rm -rf 實用程序。以包的形式包裝rm -rf命令,用來刪除文件和文件夾,不管文件夾是否為空,都可以刪除。
rimraf 每周下載量:67,101,067
GitHub:https://github.com/isaacs/rimraf
13. emoji-regex
emoji-regex 提供了一個正則表達式來匹配所有 emoji 符號和序列(包括 emoji 的文本表示),符合 Unicode 標準。它基于 emoji-test-regex-pattern,它生成(在構建時)基于 Unicode 標準的正則表達式模式。因此,只要將新的表情符號添加到 Unicode 中,就可以輕松更新 emoji-regex。
emoji-regex 每周下載量:61,794,047
GitHub:https://github.com/mathiasbynens/emoji-regex
14. mkdirp
mkdirp 可以在Node.js中像 mkdir -p
一樣遞歸創建目錄及其子目錄。
mkdirp 每周下載量:61,036,270
GitHub:https://github.com/isaacs/node-mkdirp
15. ws
ws 是一個簡單易用、速度極快且經過全面測試的 WebSocket 客戶端和服務器實現。
ws 每周下載量:59,114,745
GitHub:https://github.com/websockets/ws
16. async
Async 是一個實用模塊,它為使用異步 JavaScript 提供了直接、強大的功能。雖然最初設計用于Node.js,但是它也可以直接在瀏覽器中使用。
async 每周下載量:56,387,506

GitHub:https://github.com/caolan/async
17. minimist
minimist 是一個用來解析命令行選項的庫。
minimist 每周下載量:51,722,555
GitHub:https://github.com/substack/minimist
18. js-yaml
js-yaml 是一個用于 JavaScript 的 YAML 1.2 解析器/編寫器。這是YAML的一個實現,一種對人類友好的數據序列化語言。從PyYAML端口開始,它完全從頭開始重寫。現在它非常快,并且支持 1.2 規范。
js-yaml 每周下載量:51,863,321
GitHub:https://github.com/nodeca/js-yaml
19. form-data
form-data 是一個用于創建可讀"multipart/form-data"流的庫。可用于向其他 Web 應用程序提交表單和文件上傳。
form-data 每周下載量:50,307,183
GitHub:https://github.com/form-data/form-data
20. lodash
lodash 是一個 JavaScript 實用工具庫,提供一致性,及模塊化、性能和配件等功能。Lodash 消除了處理數組的麻煩,從而簡化了 JavaScript、 數字、對象、字符串等。它的模塊化方法非常適合:迭代數組,對象和字符串、操作和測試值、創建復合功能。
Lodash 每周下載量:50,027,873

GitHub:https://github.com/lodash/lodash
今天的分享到這里就結束了,如果覺得有用,就點贊、分享、在看吧!
·················?若川簡介?·················
你好,我是若川,畢業于江西高校。現在是一名前端開發“工程師”。寫有《學習源碼整體架構系列》20余篇,在知乎、掘金收獲超百萬閱讀。
從2014年起,每年都會寫一篇年度總結,已經堅持寫了8年,點擊查看年度總結。
同時,最近組織了源碼共讀活動,幫助3000+前端人學會看源碼。公眾號愿景:幫助5年內前端人走向前列。
掃碼加我微信 ruochuan02、拉你進源碼共讀群
今日話題
又是一年清明假期,假期總是短暫的。記得前年剛注冊了新的微信號ruochuan12,去年的這時說微信好友數到了2000,今年到了xxx。分享、收藏、點贊、在看我的文章就是對我最大的支持~
目前建有江西|湖南|湖北 籍 前端群,想進群的可以加我微信 ruochuan12?進群。