javascript
GitHub 最受欢迎的Top 20 JavaScript 项目
大家好,我是若川。持續(xù)組織了8個(gè)月源碼共讀活動(dòng),感興趣的可以點(diǎn)此加我微信 ruochuan12?參與,每周大家一起學(xué)習(xí)200行左右的源碼,共同進(jìn)步。同時(shí)極力推薦訂閱我寫的《學(xué)習(xí)源碼整體架構(gòu)系列》?包含20余篇源碼文章。歷史面試系列
今天來(lái)分享 GitHub 上最受歡迎的Top 20 JavaScript 項(xiàng)目,這些多是實(shí)用的小型工具庫(kù),快來(lái)看看你都用過(guò)哪些吧!
1. debug
debug 是一個(gè)模仿 Node.js 核心調(diào)試技術(shù)的小型 JavaScript 調(diào)試實(shí)用程序。適用于 Node.js 和 Web 瀏覽器。
debug 每周下載量:195,681,684
GitHub:https://github.com/debug-js/debug
2. chalk
chalk 是一個(gè)終端字符串美化工具。默認(rèn) node 在輸出終端的文字都是黑白的,為了使輸出不再單調(diào),就可以使用這個(gè)庫(kù)來(lái)添加文字背景和字體顏色。
chalk 每周下載量:180,736,619
GitHub:https://github.com/chalk/chalk
3. ms
ms 是一個(gè)微小的毫秒轉(zhuǎn)換實(shí)用程序,可以輕松地將各種時(shí)間格式轉(zhuǎn)換為毫秒。
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')????//?-200GitHub:https://github.com/vercel/ms
4. strip-ansi
strip-ansi 用于從字符串中去掉 ANSI 轉(zhuǎn)義碼。
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 命令行接口的補(bǔ)全解決方案,靈感來(lái)源于 Ruby 的 commander。它使得命令行界面變得簡(jiǎn)單。
Commander 每周下載量:90,841,947
GitHub:https://github.com/tj/commander.js
6. yargs
Yargs 框架通過(guò)使用 Node.js 構(gòu)建功能全面的命令行應(yīng)用,它能輕松配置命令,解析多個(gè)參數(shù),并設(shè)置快捷方式等,還能自動(dòng)生成幫助菜單。
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 用于有限的并發(fā)運(yùn)行多個(gè) promise-returning & async 函數(shù)。
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 是一個(gè)適用于 Node.js 和瀏覽器的最快 JSON 驗(yàn)證器。它支持 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 是一個(gè)雙向鏈表的實(shí)現(xiàn)。
yallist 每周下載量:70,872,400
GitHub:https://github.com/isaacs/yallist
11. postcss
PostCSS 是一個(gè)允許使用插件轉(zhuǎn)換樣式的插件。這些可以檢查(lint)你的 CSS,支持 CSS 變量和 Mixins,編譯尚未被瀏覽器廣泛支持的先進(jìn)的 CSS 語(yǔ)法,內(nèi)聯(lián)圖片,以及其他許多優(yōu)秀的工具的功能。
postcss 每周下載量:67,390,371
GitHub:https://github.com/postcss/postcss
12. rimraf
rimraf 是 Node.js 的 rm -rf 實(shí)用程序。以包的形式包裝rm -rf命令,用來(lái)刪除文件和文件夾,不管文件夾是否為空,都可以刪除。
rimraf 每周下載量:67,101,067
GitHub:https://github.com/isaacs/rimraf
13. emoji-regex
emoji-regex 提供了一個(gè)正則表達(dá)式來(lái)匹配所有 emoji 符號(hào)和序列(包括 emoji 的文本表示),符合 Unicode 標(biāo)準(zhǔn)。它基于 emoji-test-regex-pattern,它生成(在構(gòu)建時(shí))基于 Unicode 標(biāo)準(zhǔn)的正則表達(dá)式模式。因此,只要將新的表情符號(hào)添加到 Unicode 中,就可以輕松更新 emoji-regex。
emoji-regex 每周下載量:61,794,047
GitHub:https://github.com/mathiasbynens/emoji-regex
14. mkdirp
mkdirp 可以在Node.js中像 mkdir -p 一樣遞歸創(chuàng)建目錄及其子目錄。
mkdirp 每周下載量:61,036,270
GitHub:https://github.com/isaacs/node-mkdirp
15. ws
ws 是一個(gè)簡(jiǎn)單易用、速度極快且經(jīng)過(guò)全面測(cè)試的 WebSocket 客戶端和服務(wù)器實(shí)現(xiàn)。
ws 每周下載量:59,114,745
GitHub:https://github.com/websockets/ws
16. async
Async 是一個(gè)實(shí)用模塊,它為使用異步 JavaScript 提供了直接、強(qiáng)大的功能。雖然最初設(shè)計(jì)用于Node.js,但是它也可以直接在瀏覽器中使用。
async 每周下載量:56,387,506
GitHub:https://github.com/caolan/async
17. minimist
minimist 是一個(gè)用來(lái)解析命令行選項(xiàng)的庫(kù)。
minimist 每周下載量:51,722,555
GitHub:https://github.com/substack/minimist
18. js-yaml
js-yaml 是一個(gè)用于 JavaScript 的 YAML 1.2 解析器/編寫器。這是YAML的一個(gè)實(shí)現(xiàn),一種對(duì)人類友好的數(shù)據(jù)序列化語(yǔ)言。從PyYAML端口開(kāi)始,它完全從頭開(kāi)始重寫。現(xiàn)在它非常快,并且支持 1.2 規(guī)范。
js-yaml 每周下載量:51,863,321
GitHub:https://github.com/nodeca/js-yaml
19. form-data
form-data 是一個(gè)用于創(chuàng)建可讀"multipart/form-data"流的庫(kù)。可用于向其他 Web 應(yīng)用程序提交表單和文件上傳。
form-data 每周下載量:50,307,183
GitHub:https://github.com/form-data/form-data
20. lodash
lodash 是一個(gè) JavaScript 實(shí)用工具庫(kù),提供一致性,及模塊化、性能和配件等功能。Lodash 消除了處理數(shù)組的麻煩,從而簡(jiǎn)化了 JavaScript、 數(shù)字、對(duì)象、字符串等。它的模塊化方法非常適合:迭代數(shù)組,對(duì)象和字符串、操作和測(cè)試值、創(chuàng)建復(fù)合功能。
Lodash 每周下載量:50,027,873
GitHub:https://github.com/lodash/lodash
今天的分享到這里就結(jié)束了,如果覺(jué)得有用,就點(diǎn)贊、分享、在看吧!
·················?若川簡(jiǎn)介?·················
你好,我是若川,畢業(yè)于江西高校。現(xiàn)在是一名前端開(kāi)發(fā)“工程師”。寫有《學(xué)習(xí)源碼整體架構(gòu)系列》20余篇,在知乎、掘金收獲超百萬(wàn)閱讀。
從2014年起,每年都會(huì)寫一篇年度總結(jié),已經(jīng)堅(jiān)持寫了8年,點(diǎn)擊查看年度總結(jié)。
同時(shí),最近組織了源碼共讀活動(dòng),幫助3000+前端人學(xué)會(huì)看源碼。公眾號(hào)愿景:幫助5年內(nèi)前端人走向前列。
掃碼加我微信 ruochuan02、拉你進(jìn)源碼共讀群
今日話題
又是一年清明假期,假期總是短暫的。記得前年剛注冊(cè)了新的微信號(hào)ruochuan12,去年的這時(shí)說(shuō)微信好友數(shù)到了2000,今年到了xxx。分享、收藏、點(diǎn)贊、在看我的文章就是對(duì)我最大的支持~
目前建有江西|湖南|湖北 籍 前端群,想進(jìn)群的可以加我微信 ruochuan12?進(jìn)群。
創(chuàng)作挑戰(zhàn)賽新人創(chuàng)作獎(jiǎng)勵(lì)來(lái)咯,堅(jiān)持創(chuàng)作打卡瓜分現(xiàn)金大獎(jiǎng)總結(jié)
以上是生活随笔為你收集整理的GitHub 最受欢迎的Top 20 JavaScript 项目的全部?jī)?nèi)容,希望文章能夠幫你解決所遇到的問(wèn)題。
- 上一篇: tomcat编码配置gbk_修改Tomc
- 下一篇: 实用 JavaScript 调试技巧