大家好,我是若川。持续组织了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 进群。

GitHub 最受欢迎的Top 20 JavaScript 项目相关推荐

  1. 机器学习 Python 库 Top 20

    如今开源是创新的核心,推动着技术的飞速革新.本文会为你介绍 2016 年机器学习 Top 20 Python 开源项目,同时分析得出一些有趣的见解和发展趋势. KDnuggets 为您带来 Githu ...

  2. 被全球数10万顶尖程序员关注收藏!这些JavaScript项目到底强在哪里?

    众所周知,JavaScript是当今互联网世界最流行的编程语言之一,也是程序员,特别是前端工程师的必备技能之一.而随着越来越多的程序员使用JavaScript编写代码,许多伟大而具有学习意义的js项目 ...

  3. GitHub 上超屌的 9 个 Vue 开源项目

    相比于其他前端框架,Vue 更加易学.尤其在中国,Vue 可以说是前端开发者必会的框架,在 GitHub 上基于 Vue 开源的优质项目也是数不胜数,今天我们就盘点 GitHub 上受欢迎的 9 个开 ...

  4. 【深度学习】Github 最受欢迎的深度学习项目 TOP 20

    必须做好一些是LINUX平台,甚至没有教材根本需要摸索学习的准备,如果有那个变成为在线服务的请第一时间通知我们 截止到 2017年 5月14日,Github 最受欢迎的深度学习项目 TOP 20 是哪 ...

  5. GitHub Top 100 Objective-C 项目简介

    主要对当前 GitHub 排名前 100 的项目做一个简单的简介, 方便初学者快速了解到当前 Objective-C 在 GitHub 的情况. 若有任何疑问可通过微博@李锦发联系我 GitHub 地 ...

  6. 最热开源静态网站生成器 TOP 20

    最热开源静态网站生成器 TOP 20 1.静态站点生成器 Jekyll Jekyll 是一个简单的免费的Blog生成工具,类似WordPress.但是和WordPress又有很大的不同,原因是jeky ...

  7. TIOBE 2月编程语言排行榜:Python逼近C,Groovy重回TOP 20

    作者 | 唐小引 出品 | CSDN(ID:CSDNnews) 新月伊始,一月一更的 TIOBE 编程语言社区发布了最新的 2 月编程语言排行榜. 继 Python 语言成为 "2018年度 ...

  8. 2020年“3D视觉工坊”视频号最受欢迎视频 Top 10!

    点击上方"3D视觉工坊",选择"星标" 干货第一时间送达 2020年"3D视觉工坊"视频号最受欢迎视频 Top 10! 在过去的2020年, ...

  9. 6月Top 20榜单出炉啦! 万万没想到区块链大佬竟在忙这个...

    6月Top 20榜单出炉啦! 万万没想到区块链大佬竟在忙这个... 一个项目在 GitHub 上的活跃指数,在一定程度上代表了这个项目的开发状态. 频繁更新代码的项目有可能正处于构建和完善中,而停止更 ...

最新文章

  1. django学习笔记【003】创建第一个带有model的app
  2. 软工作业 5:词频统计——增强功能
  3. C#中使用指针转换数据类型[C#/unsafe]
  4. 不是所有人都懂这样做,你若做了就能高升!
  5. Java通过JNI/JNA加载dll库文件调用C接口,出现“java.lang.UnsatisfiedLinkError: no XXX in java.library.path”问题
  6. DBC文件解析及CAN通信矩阵
  7. 腾讯云TBase分布式数据库安装部署
  8. 磁带库Scalar i6000界面基本操作步骤
  9. 8.1 linux基础,创建用户
  10. opencv学习-碰壁小球
  11. 应用“Cain Abel”实现DNS欺骗
  12. ecshop手机端模板引擎切换到smarty3.1.30-之改造insert_ads
  13. 计算机基础知识操作培训教案,计算机基础知识培训教案设计
  14. 八叉树(Octree)
  15. 如何去除本地项目的git版本控制
  16. 166页7万字智慧工厂可视化解决方案
  17. 使用selenium抓取网易云音乐数据
  18. 试题 历届试题 对局匹配(动态规划)保证简单
  19. centos 7 安装RabbitMQ 3.8.18
  20. Torn To Pieces-------------------------------思维(dfs+stringstream流)

热门文章

  1. java js获取css方法_5种JavaScript和CSS交互的方法
  2. mybatis select count(*) 一直返回0 mysql_Mybatis教程1:MyBatis快速入门
  3. echarts 4.0.4怎么下载_怎么让ECharts的提示框tooltip自动轮播?
  4. python中str用法_python数据类型之str用法
  5. mysql性能结构优化原理_MySQL性能管理及架构设计(二):数据库结构优化、高可用架构设计、数据库索引优化...
  6. 数据导出生成word附件使用POI的XWPFTemplate对象
  7. JavaScript笔记(3)
  8. mysql那些事(6) WHERE条件 字符串的引号
  9. 动态规划(冬令营课堂笔记)
  10. [转]Asp.Net大型项目实践(11)-基于MVC Action粒度的权限管理【续】【源码在这里】(在线demo,全部源码)...