2018年你应该知道的11个Javascript实用程序库

2,370 阅读6分钟
原文链接: www.zcfy.cc

由于Javascript在2018年仍然是最受欢迎和最广泛使用的编程语言,因此使得它的生态系统得到了更好的扩展。

尽管如此,Javascript的小型“标准库”仍然会保持这种状态。为填补这一空白,许多流行的实用程序库在过去几年中在GitHub上发展壮大。以下是有用且高度维护的库的简短列表。

提示:列表中的大多数(如果不是全部)库都可以与Bit的组件平台结合使用,这样您就可以单独使用任何功能来发现,使用甚至从使用它的任何项目开发。

使用也在GitHub上的Bit,您可以无缝地隔离任何这些库中的组件(无重构),并使用NPM将它们安装在其他项目中,使用Bit,更新更改,协作和保持同步从任何项目开发它们。随意跳进去。

Bit - Share and build with code components _Bit helps you share, discover and use code components between projects and applications to build new features and…_bitsrc.io

1. Underscore & Lodash (dah)

大多数人可能已经知道了。构建Underscore是为了在Javascript中为常见任务提供实用程序功能。 Lodash是NPM下载量最大依赖性最强的软件包,旨在为数组,字符串,对象和参数对象提供更一致的跨环境迭代支持。它已经成为Underscore的超集,并且都由相同的核心贡献者维护。绝对应该在你的技术堆栈中。

lodash/lodash _lodash - A modern JavaScript utility library delivering modularity, performance, & extras._github.com

jashkenas/underscore _underscore - JavaScript's utility _ belt_github.com

lodash. Javascript components by lodash. _Non-Official and community generated collection of the Lodash JS utility library functionalities made individually…_bitsrc.io

2. Ramda

这个JS实用程序库超过12K星,专为函数式编程而设计,可以轻松创建不会改变用户数据的功能管道。不可变性和无副作用功能是其设计理念的核心。所有功能都自动进行curried,并且相应地安排传递的参数以便于使用。

ramda/ramda _ramda - :ram: Practical functional Javascript_github.com

3. MathJS

在6K星级,Math.js是一个广泛的JavaScript和Node.js数学库,它与JavaScript的内置数学库兼容。该库包含一个灵活的表达式解析器,能够执行符号计算,并带有大量内置函数和常量。你甚至可以自己扩展它。

josdejong/mathjs _mathjs - An extensive math library for JavaScript and Node.js_github.com

4. Moment/date-fns

在近40K星级,moment.js是一个JavaScript日期和时间操作库,用于解析,验证,操作和格式化日期。 Moment旨在在浏览器和Node.js中工作。从v 2.10.0开始,代码编写在ECMAScript 6模块中。

Date-fns是一个越来越流行的(11K星,每周超过50万次NPM安装)时间操作库,用于Javascript,由许多开发人员选择替换 moment.js参见比较),提供超过130个函数来操作浏览器和节点中的日期.js文件。 Date-fns是使用纯函数构建的,并且在不更改传递日期实例的情况下保持不可变。它适用于webpack,Browserify或Rollup等捆绑器,并且还支持 tree-shaking

moment/moment _moment - Parse, validate, manipulate, and display dates in javascript._github.com

date-fns/date-fns _date-fns - ⏳ Modern JavaScript date utility library ⌛️_github.com

5. Sugar

在3.5K星级,Sugar是一个用于处理本机对象的Javascript实用程序库。自定义构建和模块化的npm包允许您只使用您需要的东西(也可以与Bit结合使用),用户可以定义方法或使用插件来处理专门的用例。值得一试。

andrewplummer/Sugar _Sugar - A Javascript library for working with native objects._github.com

6. Lazy

在5K星级,lazy.js是一个用于JavaScript的函数实用程序库,它具有一个懒加载引擎,“尽可能少地工作”,同时仍然足够灵活。该库没有外部依赖关系,这是一个将Dome 事件作为序列进行测试的现场演示。以下是要开始使用的API文档

dtao/lazy.js _lazy.js - Like Underscore, but lazier_github.com

7. CollectJS

在3.5K星级,collect.js是一个非常有前途和无依赖性的包装器,用于在Javascript中处理数组和对象,其中有许多有用的功能和API(几乎)与Laravel Collections相同。这个library得到了积极维护,值得关注。

ecrmnn/collect.js _collect.js - 💎 Convenient and dependency free wrapper for working with arrays and objects_github.com

8. ChanceJS

Chance是随机字符串,数字等的极简主义生成器,有助于减少一些单调,同时编写自动化测试或任何其他随机需要的东西。只有3K星,这个库非常有用,因为我们倾向于在被要求生成随机事物时重复我们的模式。

chancejs/chancejs _chancejs - Chance - Random generator helper for JavaScript_github.com

9. ChartJS

在近40k的星星上,chart.js是一个很好的例子,说明8种不同的数据可视化类型,有时甚至更少,每种类型都是动画和可自定义的。 Chart.js允许您使用<canvas>标签创建简单的HTML5图表,在所有现代浏览器中都具有出色的渲染性能。 绝对是列表中最有用和最优雅的库之一。

chartjs/Chart.js _Chart.js - Simple HTML5 Charts using the tag_github.com

10. Polished

styled-components 团队撰写的Polished拥有3.5K星,Polished是一个非常轻量级的工具集,用于在JavaScript中使用Sass风格的辅助函数和mixin编写样式。该库与样式组件,Aphrodite,Radium或纯内联样式兼容。这个个人最爱可以在GitHub上获得,并且所有单一功能都在Bit的社区(非官方)中提供,因此可以单独安装/导入和使用它们。

styled-components/polished _polished - A lightweight toolset for writing styles in JavaScript ✨_github.com

polished. Javascript components by ranm8. _A lightweight toolset for writing styles in JavaScript ✨ 72 Javascript components. Examples: color / adjust-hue, color…_bitsrc.io

11. Mout

Mout.js是模块化JavaScript实用程序的集合,可以在浏览器中用作AMD模块或node.js,提供类似于其他语言标准库(Python,Ruby,PHP等)上的辅助方法。 mout.js允许您仅加载所需的模块/功能,并提供一致的API并规范多个浏览器的行为。

mout/mout _mout - Modular JavaScript Utilities_github.com

相关阅读:

* Bit utils

Javascript实用程序功能提供模块化和性能,在Bit的Web中心本身使用。这些功能可以单独使用,可以使用NPM / Yarn进行安装,也可以使用Bit本身从任何使用它们的项目(在任何环境中)进行开发。您可以创建自己的类似集合,并从不同的库和项目中收集有用的功能。

Bit - icons-utils / icons / secure - React component by grommet _Secure SVG Icon. - written in react. Dependencies: classnames, prop-types, react. Javascript utility functions for…_bitsrc.io

* Voca

用于字符串操作的Javascript库。它包括有用的功能,如change case,trim,pad,slugify,latinise,sprintf'y,truncate,escape等等。您可以加载单个函数以最小化应用程序构建。该库有高测试覆盖率,没有依赖性。

panzerdp/voca _voca - The ultimate JavaScript string library_github.com

* Licia

这个有趣的项目只有400颗星,基本上是一个简单的有用的JavaScript代码片段集合,具有高级文档和测试覆盖率。 v 2.0在master上预发布,并且是积极维护和开发的。

了解更多在此Hackernoon帖子中.

liriliri/licia _licia - Useful utility collection with zero dependencies_github.com