【QCon】精华内容上线92%,全面覆盖“人工智能+”的典型案例!>>> 了解详情
写点什么

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:023106
用户头像

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

关注

评论

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

JPQL超详细介绍与JPA命名规则

陈老老老板

Spring JPA 11月月更

SpringBoot整合Elasticsearch超详细教程

陈老老老板

ES spring-boot 11月月更

GaussDB拿下的安全认证CC EAL4+究竟有多难

华为云开发者联盟

数据库 后端 华为云

吃透这份“腾讯限量版”Java架构笔记,要个40k不过分吧?

钟奕礼

Java 程序员 java面试 java编程

一文了解 Go 中的指针和结构体

陈明勇

Go golang 指针 结构体 11月月更

【Java面经】阿里三面被挂!幸获内推,历经5轮终于拿到口碑offer

钟奕礼

Java java面试 java编程 程序员‘

看我如何连夜自建网站背刺我的求职对手们

华为云开发者联盟

云计算 华为云 云服务器 自建网站

面试90%会问到的200+Java面试题汇总(含答案解析)

钟奕礼

Java java程序员 java面试 java编程

从12K到60K,这2023Java研发必问高级面试题,过关斩将拿offer

钟奕礼

Java java面试 java编程 程序员‘

云原生系列一 【基于CCE Kubernetes编排实战】

叶秋学长

Kubernetes 云原生 CCE 11月月更

华为云桌面Workspace,不得不爱的移动办公新体验

爱科技的水月

10 W字最新 Java 热门面试题及答案总结

钟奕礼

Java java面试 java编程 程序员 java

湖仓一体电商项目(十三):数据发布接口和可视化

Lansonli

湖仓一体电商项目 11月月更

EasyExcel常用API与注解

陈老老老板

EasyExcel java; 11月月更

EasyExcel导出数据超过Excel单表上限解决方案

陈老老老板

EasyExcel java; 11月月更

云原生系列 二【基于CCE Kubernetes编排实战】

叶秋学长

Kubernetes 云原生 11月月更

C++---类型萃取---is_integral && is_floating_point

桑榆

C++ STL 11月月更

湖仓一体电商项目(十四):实时任务执行流程

Lansonli

湖仓一体电商项目 11月月更

PGL图学习之图神经网络ERNIESage、UniMP进阶模型[系列八]

汀丶人工智能

深度学习 图神经网络 11月月更 GAT

2022最全168道Spring全家桶面试题(含答案)

钟奕礼

Java java面试 java编程 程序员‘

大厂敲门砖,Github霸榜的顶级并发编程宝典被我搞到手了!

小小怪下士

Java 面试 并发编程 JVM

信息论与编码:信道的数学模型

timerring

11月月更 信道 数学模型

The Micro-service design of E-commerce System

David

架构实战营

好消息 突破:IM开源项目OpenIM采用wasm技术实现jssdk

Geek_1ef48b

Spring Data JPA简介与SpringBoot整合超详细教学

陈老老老板

Spring JPA 11月月更

SpringBoot整合MongoDB超详细教程

陈老老老板

java; spring-boot 11月月更

@Valid与@Validated的区别

陈老老老板

java; 11月月更

线上沟通无忧,华为云会议SmartRoom了解一下

清欢科技

python数据分析-pandas增删改查

AIWeker

Python Python数据分析 11月月更

湖仓一体电商项目(十二):编写写入DM层业务代码

Lansonli

湖仓一体电商项目 11月月更

EasyRecovery15数据恢复软件下载使用安装教程

茶色酒

EasyRecovery15

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