GitHub 最受欢迎的Top 20 JavaScript 项目

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列

今天来分享 GitHub 上最受欢迎的Top 20 JavaScript 项目,这些多是实用的小型工具库,快来看看你都用过哪些吧!

1. debug

debug 是一个模仿 Node.js 核心调试技术的小型 JavaScript 调试实用程序。适用于 Node.js 和 Web 浏览器。

debug 每周下载量:195,681,684

cccea2dc09698ca1e993ce88c88269ee.png

GitHub:https://github.com/debug-js/debug

2. chalk

chalk 是一个终端字符串美化工具。默认 node 在输出终端的文字都是黑白的,为了使输出不再单调,就可以使用这个库来添加文字背景和字体颜色。

chalk 每周下载量:180,736,619

29057ca532927aba076c1520e0e49859.png

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

beb0a9c21c5bd00cfdbadfe192cb9ca7.png

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

6f7fd7aabbeff7d212186e6b935d15cc.png

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

a247b13103ebeaa88ed438d463e881da.png

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

72adf3c824be260ad6decc8284b8baf5.png

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

b98ffe300761997440c1e0bac318940e.png

GitHub:https://github.com/lodash/lodash

今天的分享到这里就结束了,如果觉得有用,就点赞分享在看吧!


ff5b89ebf7bb962da82dfe3e0fc32f4c.gif

················· 若川简介 ·················

你好,我是若川,毕业于江西高校。现在是一名前端开发“工程师”。写有《学习源码整体架构系列》20余篇,在知乎、掘金收获超百万阅读。
从2014年起,每年都会写一篇年度总结,已经坚持写了8年,点击查看年度总结。
同时,最近组织了源码共读活动,帮助3000+前端人学会看源码。公众号愿景:帮助5年内前端人走向前列。

27aaaa13e7f19a7eee53205ff04d5cb8.png

扫码加我微信 ruochuan02、拉你进源码共读

今日话题

又是一年清明假期,假期总是短暂的。记得前年刚注册了新的微信号ruochuan12,去年的这时说微信好友数到了2000,今年到了xxx。分享、收藏、点赞、在看我的文章就是对我最大的支持~

目前建有江西|湖南|湖北 籍 前端群,想进群的可以加我微信 ruochuan12 进群。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/274770.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

java反编译,eclipse支持插件

http://java.decompiler.free.fr/?qjdeclipse 按照说明 在eclipse更新插件就可以。 这样 在一些 闭源的jar文件,你也可以看到 大致的源码。(公司 知道如何 加密混淆 java代码或class文件,居然无法使用jd-gui浏览源码) 而&#xf…

unity vr 交互_基于手动的VR / MR交互,用于删除实体

unity vr 交互Deleting an entity or closing an application is one of the most ubiquitous operations performed in any application. It is necessary for the organization of the data. On the computer, there are multiple ways to delete a file like cmd delete, d…

手把手带你走进Babel的编译世界

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列前言谈…

iPhone/Mac Objective-C内存管理教程和原理剖析(二)口诀与范式转

版权声明 此文版权归作者Vince Yuan (vince.yuan#gmail.com)所有。欢迎非营利性转载,转载时必须包含原始链接http://vinceyuan.cnblogs.com,且必须包含此版权声明的完整内容。 版本 1.1 发表于2010-03-08 二 口诀与范式 1 口诀。 1.1 …

同态加密应用_重新设计具有同态性的银行应用

同态加密应用Catering user preference is undoubtedly a never-ending task. End of the day, it takes all sorts to make a world. For that reason, it is deemed important to design with the accent of communicating core business value, and resolving user needs wi…

(字节/华为/美团)前端面经记录冷冷清清的金三银四

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列从毕业…

PHP连接PGSQL

function conn($hostName,$Login,$Password,$dbName,$Port) //建立目标数据库连接 {$conn &ADONewConnection(postgres8);$conn->debug false; //true时adodb将在页面显示debug信息$conn->LogSQL(false); //true时adodb将建立adodb_sqllog表记录每次sql操作$conn-&…

netflix_Netflix播放按钮剖析

netflixWe will develop a play pause button similar to the one the Netflix video player has.我们将开发一个类似于Netflix视频播放器的播放暂停按钮。 Since Swift has replaced Objective-C as the default development language for iOS, the same will apply to Swift…

TypeScript 终极初学者指南

大家好,我是若川。持续组织了8个月源码共读活动,感兴趣的可以点此加我微信 ruochuan12 参与,每周大家一起学习200行左右的源码,共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列在过去…

继承与多态(六)

继承 1.继承 a。.直接在类的后面加上冒号“:”后面跟基类,就该类就继承了基类的一切特性了。 b。private类不能被继承,只有public、protected类能被继承。 c。private类不里面所有的属性和方法都不能被外界访问,只有他自己可以。 …

标记偏见_如何(巧妙地)扭曲视觉效果以支持您的偏见叙事

标记偏见Data is important — it is the logical justification for world-changing decisions. Unfortunately, arrays of numbers don’t tell as interpretable a story as a picture does, providing an insatiable need for data visualizations.数据很重要-这是改变世界…

高瓴投资,顶配创业团队,dora 诚招前端 / Flutter

dora 是一个可以跨越设计稿,直接生成应用的新一代设计工具。让任何 Creator 都能轻松构建个性化的网站和应用,无需编写一行代码。通过自主研发的全新技术,我们为用户打造了完全自由度的设计与开发体验,足以满足任何复杂场景的个性…

猎鹰spacex_SpaceX:简单,美观的界面是未来

猎鹰spacex重点 (Top highlight)A photo has been floating around the internet showing how the interior of the new Dragon spacecraft differs from the Space Shuttle. The difference is staggering, but not entirely suprprising. After all the Shuttle started oper…

object的classid收集

比如&#xff1a; wbbrowser控件 <OBJECT idWB classidCLSID:8856F961-340A-11D0-A96B-00C04FD705A2 VIEWASTEXT></OBJECT> 画图控件 <OBJECT idSGrfxCtl1 classidclsid:369303C2-D7AC-11D0-89D5-00A0C90833E6 ></OBJECT> 上下滚动条控件 <OB…

如何高效学习前端新知识,拓展视野,我推荐

技术日新月异&#xff0c;发展迅速&#xff0c;作为一个与时俱进的互联网人&#xff0c;需要不断地学习扩宽视野。今天为大家推荐几个技术领域中出类拔萃的公众号&#xff0c;它们的每一篇推文都值得你点开&#xff01;1前端开发爱好者学习路线 数据结构算法 前端进阶「前端开发…

开发交接文档_为开发人员创造更好的设计交接体验

开发交接文档It’s 2020. We’re supposed to have flying cars and space travel. We should at least have our process for design handoff nailed down at this point.现在是2020年。我们应该有飞行汽车和太空旅行。 在这一点上&#xff0c;我们至少应该确定我们的设计移交…

同步器之Exchanger

类java.util.concurrent.Exchanger提供了一个同步点&#xff0c;在这个同步点&#xff0c;一对线程可以交换数据。每个线程通过exchange()方法的入口提供数据给他的伙伴线程&#xff0c;并接收他的伙伴线程提供的数据&#xff0c;并返回。 当在运行不对称的活动时很有用&#x…

​Cookie 从入门到进阶:一文彻底弄懂其原理以及应用

大家好&#xff0c;我是若川。持续组织了8个月源码共读活动&#xff0c;感兴趣的可以点此加我微信 ruochuan12 参与&#xff0c;每周大家一起学习200行左右的源码&#xff0c;共同进步。同时极力推荐订阅我写的《学习源码整体架构系列》 包含20余篇源码文章。历史面试系列Cooki…

ui设计师常用的设计工具_2020年应该使用哪个UI设计工具?

ui设计师常用的设计工具重点 (Top highlight)It’s 2020, the market today is saturated with UI design tools. Ever since Sketch app came out with its sleek, simple, and efficient tool to craft user interface design, many companies have followed suit to take a …

Ajax拖放页面元素(图片)

最近了解了一点YUI的控件知识.先做个Ajax拖放页面元素(图片)以便学习参考. 现在有一些网站如QQ空间,都允许用户自定义模块,可以任意拖动模块到各个地方去.YUI在这一方面做得比较好.下面以一组图片的方式来说明如何运用Ajax拖放页面元素: 第一步:在<head></head>标签…