写点什么

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

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

关注

评论

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

打造“云边一体化”,时序时空数据库TSDB技术原理深度揭秘

数据库 大数据 时序数据库 tsdb 数据智能

Apache ShardingSphere:由开源驱动的分布式数据库中间件生态

亚马逊云科技 (Amazon Web Services)

人工智能 开源数据库

Fil收益怎么看?Fil一天收益如何?

区块链 IPFS fil收益 filecoin生态

完备的娱乐行业知识图谱库如何建成?爱奇艺知识图谱落地实践

爱奇艺技术产品团队

nlp 搜索 知识图谱

解读区块链技术对量子攻击的脆弱性以及量子安全区块链的解决方案

CECBC

智慧农业陷转型困局,区块链如何“对症下药”?

CECBC

品牌轮:用MOT引导的品牌体验模型

石云升

用户体验 关键时刻 7月日更 体验设计

2021可信云大会顺利召开,北鲲云践行云计算六大发展趋势

北鲲云

第九周作业-朴朴超市用户路径&转化漏斗

小夏

产品经理训练营 邱岳

浪潮云洲赋能智造 拉升制造业“微笑曲线”

云计算

新工具上线!sdkmgr命令行助力流水线构建

科技汇

微服务架构设计模式-进程间通信

以吻封笺

微服务 设计模式

你以为你懂redis?等看完某宝付费的资源你就知道了

Java架构师迁哥

Kafka为何弃用zookeeper(翻译)

石头哥谈架构

kafka kafka架构 分布式消息/流中间件

ISC网络安全大会关于“新型网络犯罪打击与治理”的分析

郑州埃文科技

网络安全 isc

这次不编故事了,阿里Spring Cloud Alibabab笔记,自己领吧

Java架构师迁哥

【得物技术】服务发布时网络“抖动”

得物技术

网络 服务 响应时间 部署 发布

爱奇艺搜索排序算法实践(内附福利)

爱奇艺技术产品团队

排序算法 nlp 搜索

🏆「作者推荐!」【Java 技术之旅】彻底你明白什么是JIT编译器(Just In Time编译器)

洛神灬殇

Java 编译器 JIT compiler 即时编译器

8月日更挑战正式开启,新人大奖等你来领!

InfoQ写作社区官方

8月日更 热门活动

手撕环形队列系列二:无锁实现高并发

实力程序员

程序员 数据结构 并发 无锁 环形队列

如何识别并解决复杂的dcache问题

安第斯智能云

后端

新思科技解读金融服务业的应用安全误区与现实

InfoQ_434670063458

新思科技 金融服务安全

HarmonyOS开发者创新大赛获奖作品分享——《分镜头App》

科技汇

希望体验更好的开发流程

escray

学习 极客时间 朱赟的技术管理课 7月日更

主流分布式文件系统选型,写得太好了!

编程菌

Java 编程 程序员 计算机 技术宅

下一个颠覆的领域:区块链如何影响审计行业?(中)

CECBC

ONES 当选深圳信创联盟副理事长单位,助力国产软件工业发展

万事ONES

信创 ONES

阿里巴巴Java岗面试题库更新(第8版)

Java架构师迁哥

第三周作业-知识星球利益相关者排序

小夏

产品经理训练营 邱岳

行云管家荣获CFS第十届财经峰会2021科技创新引领奖!

行云管家

行云管家 财经峰会

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