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, 我们可以使用 < canvas > 标签创建简单的 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
来源: http://www.tuicool.com/articles/bqAFnym