阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

2018,你需要知道的 11 个实用 JavaScript 库

  • 2018-07-24
  • 本文字数:2064 字

    阅读完需:约 7 分钟

JavaScript 仍然是 2018 年最受欢迎和使用最为广泛的编程语言,因此 JavaScript 生态系统也会继续发展壮大。

然而,JavaScript 的标准库仍然继续保持“短小精悍”的身材。为了填补标准库功能方面的空白,在过去几年中,GitHub 上出现了很多流行的 JavaScript 库。以下列出了 11 个有用的库,这些库的维护状态均很活跃。

1.Underscore 和 Lodash(dah)

可能大多数人都知道这两个库。Underscore 的目的是为 JavaScript 中的常见任务提供实用的函数。Lodash 是下载量最大和被依赖最多的库之一,旨在为数组、字符串、object 和 argument 对象提供更一致的跨环境迭代支持,并已成为 Underscore 的超集。这两个库由相同的核心贡献者维护,在技术选型时完全可以考虑使用它们。

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

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

2. Ramda

在 GitHub 上的 Star 已经超过 12,000,这个库专为函数式编程而设计,可以轻松创建不改变用户数据状态的函数式管道。Ramda 的核心设计理念是创建具有不变性和无副作用的函数。所有的函数会被自动柯里化,并根据易用性安排参数的顺序。

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

3. MathJS

在 GitHub 上的 Star 已经超过 6000,这个库是 JavaScript 和 Node.js 的数学扩展库,与 JavaScript 内置的 Math 库兼容。该库包含一个灵活的表达式解析器,能够运行符号计算,并提供了一系列内置函数和常量。用户还可以对其进行扩展。

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

4. 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

5. Sugar

在 GitHub 上的 Star 已经超过 3500,主要用于处理本地对象。这个库支持自定义构建,还提供了模块化的 npm 包,因此可以只使用其中必要的部分模块(也可以与 Bit 结合使用),用户还可以通过自定义方法或使用插件来应对特定的使用场景。

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

6. Lazy

在 GitHub 上的 Star 将近 5000,是一个功能强大的 JavaScript 库,它的 lazy 引擎“尽可能地少做一些工作”,同时保持足够的灵活性。

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

7. CollectJS

在 GitHub 上的 Star 超过 3200,主要用于处理 JavaScript 中的数组和对象,无需其他依赖,提供了几十个有用的功能和 API,这些 API 几乎与 Laravel Collections 5.5 相同。该库的维护状态很活跃,值得关注。

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

8. ChanceJS

Chance 在 GitHub 上的 Star 超过 3200,一个简单的随机对象生成器,用于生成随机的字符串、数字等。在编写自动化测试代码或任何需要随机对象的地方,可以用它来减少单调的工作。

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

9. ChartJS

在 GitHub 上的 Star 将近 40,000 个,提供了 8 种不同类型的数据可视化,每种类型都支持动画和定制。借助 Chart.js,我们可以使用标签创建简单的 HTML5 图表,而且在所有现代浏览器中都具有出色的渲染性能。

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

10. 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

11. 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

感谢覃云对本文的审校。

2018-07-24 14:023131
用户头像

发布了 731 篇内容, 共 433.9 次阅读, 收获喜欢 1997 次。

关注

评论

发布
暂无评论
发现更多内容

K8s集群nginx-ingress监控告警最佳实践

华为云开发者联盟

k8s 华为云 华为云开发者联盟 华为云CCE 企业号2024年4月PK榜

GaussDB(DWS)基于Flink的实时数仓构建

华为云开发者联盟

数据库 华为云 华为云开发者联盟 华为云GaussDB(DWS) 企业号2024年4月PK榜

天谋科技专家解析自动化领域正在经历的 IT 行业的老路

Apache IoTDB

腾讯微信朋友圈广告代理招商 互联网广告全国招募合伙人 利润全给

互联网广告践行者

充电桩项目敏捷开发实践分享

智在碧得

敏捷开发管理 敏捷实践 敏捷开发流程 敏捷实践工具 #敏捷开发

多高的学历才能轻松找到工作?这个热点有点扯吧~

王中阳Go

Go 面试题 大厂面经 求职面试 面试行情

深入理解Transformer技术原理 | 得物技术

得物技术

架构 Transformer AIGC 企业号 4 月 PK 榜 注意力机制

【论文速读】| TroubleLLM:与红队专家对齐

云起无垠

华为云CodeArts IDE For Python 快速使用指南

华为云开发者联盟

云计算 华为云 华为云开发者联盟 华为云CodeArts 企业号2024年4月PK榜

mac虚拟机Parallels Desktop 18好用吗?PD18虚拟机下载安装

Rose

DaVinci Resolve18下载,达芬奇剪辑软件mac破解安装教程

Rose

传媒百万级资源秒级调度实践

智在碧得

MySQL 资源调度 传媒调度 ES分布式 加权排序

通过阿里云向量检索 Milvus 版和通义千问快速构建基于专属知识库的问答系统

阿里云大数据AI技术

人工智能 大数据 阿里云 Milvus

文心大模型ERNIE-Tiny:轻量化技术的全面解读

百度开发者中心

人工智能 大模型

凭什么AI数字人直播带货能赚钱?

青否数字人

数字人

LED显示屏品质受LED灯珠的影响

Dylan

性能 信息 LED显示屏 全彩LED显示屏 led显示屏厂家

青否数字人直播防封方案解决封禁问题?

青否数字人

数字人

开放签电子签章第一季度总结和第二季度目标

开放签开源电子签章

开源 电子合同 电子签章

多元 CPU 性能调优的技术挑战、产品设计和业务实践

百度Geek说

cpu 百度智能云 企业号 4 月 PK 榜 btune

远程办公管理/文件传输:Microsoft Remote Desktop mac直装版下载

Rose

聚贤帮斩获“公益明星组织奖”,赵远峰表示将坚守公益初心

科技汇

科幻成真,未来已来!“2024上海智能机器人展会”大赏前瞻

AIOTE智博会

机器人展 智能机器人展 机器人展览会

聊聊Swift中的宏

珲少

Netflix网飞客户端mac直装破解版 兼容M芯片

Rose

2024推荐做互联网推广投放项目 全媒体微信朋友圈广告代理如何申请 新政策?

微点全媒体微信推广渠道

接口自动化测试工程实践分享

智在碧得

数据 测试流程 接口自动化测试 自动化测 测试自动化工具

英文版sketch怎么转为中文,Sketch中英文切换教程

Rose

✅对线面试官-CHAR和VARCHAR了解嘛,区别是什么

派大星

MySQL Java 面试题

刘强东AI数字人是怎样克隆出来进行直播带货?

青否数字人

数字人

Databend Cloud 正式上线腾讯云市场,加速挖掘数据创新价值

Databend

Open WebUI大模型对话平台:适配Ollama的实践与探索

百度开发者中心

人工智能 大模型

2018,你需要知道的11个实用JavaScript库_JavaScript_Jonathan Saring_InfoQ精选文章