点赞再看,养成习惯~前端
虽然JavaScript自己很棒,但有它对应生态圈也很重要,这些圈会让 JS 更好。开发人员在开始一个新的中等项目时常常喜欢从新写轮子,这是一个糟糕的策略,使用第三方库是有意义的。由于这样的库有明确的用途,有更长生成的迭代,若是遇到问题更容易找到解决方法,最主要的一点是提升开发效率,缩短开发周期。git
这里并非说咱们每一个项目都要使用第三方库。 在咱们的职业生涯初期,最好本身能编写代码以进行学习。 可是在许多项目中,在有意义的地方使用库是一个不错的策略。 github
这里推荐 10 个 JS 库,这些库都有很好的文档,也很是流行,并一直在维护中。web
github:https://github.com/ramda/ramda 编程
文档:https://ramdajs.com/docs/segmentfault
Ramda 是一个用于函数式编程的很酷的 JS 库,目前在GitHub上有18000个星星。JS 的一个优势是开发人员能够选择函数式编程仍是面向对象编程。这两种方法各有利弊,可是若是你喜欢函数式编程,那么必定要看看Ramda。数组
主要功能是: 浏览器
不变性和无反作用的函数 缓存
几乎全部的函数都是自动柯里化的 服务器
参数设置为Ramda函数,便于进行柯里化
github: https://github.com/lodash/lodash
文档: https://lodash.com/
Lodash仍然是最流行和最有用的 JS 库之一。它免去了处理字符串、数组、对象等的麻烦。目前它在GitHub上有43000颗星星。
有用的功能: 遍历字符串,对象和数组 建立复合函数 操做和测试值
github: https://github.com/moment/moment
文档: https://momentjs.com/
若是必须处理日期的操做、验证、解析或格式化,Moment多是最好的 JS 库。它很轻,很完善,在GitHub上有43000多颗星,它能够在浏览器和Node.js中工做。
如下是一些有关Moment的示例:
你们都说简历没项目写,我就帮你们找了一个项目,还附赠搭建教程:github.com/qq449245884…
github: https://github.com/highlightj...
文档: https://highlightjs.org/
Highlight.js 是一个用于语法高亮显示的库,可在浏览器和服务器上使用。 它几乎能够与任何Markdown一块儿使用,并具备自动语言检测功能。
Highlight.js将在<pre> <code>标记之间搜索编程代码,尝试自动检测语言并突出显示语法。 它还支持不一样的配色方案。
下面是一个用 JS 编写的代码片断和来自代码编辑器的公共主题的示例
github: https://github.com/d3/d3
文档: https://d3js.org/
D3是最流行的数据可视化库,目前在GitHub上有89,500星。 它使用Web标准,并利用现代浏览器的强大功能,使数据栩栩如生。
文档: https://threejs.org/
Three.js是出色的JS 3D库,它使用 WebGL 做为主要渲染器,但也支持其余渲染器,例如Canvas 2D,SVG和CSS3D。 它在GitHub上有58,000个Star,咱们能够用它建立很是酷的东西。
github: https://github.com/panzerdp/voca
文档: https://vocajs.com/
Voca是一个用于处理字符串的优秀 JS 库。目前在GitHub上有2,800颗星。咱们可使用它来操做字符串,如更改大小写、修剪、pad、slugify、latinise、截断、转义等。
其余功能包括:
完整的函数集,可操纵,chop,格式化,转义和查询字符串
易于阅读和搜索的文档
支持多种环境,例如 Chrome,Firefox,Node.js
100%的代码覆盖率,没有依赖性
github: https://github.com/immutable-...
文档: https://immutable-js.github.i...
使用不可变数据结构具备一些主要优势,例如简化了应用程序开发,无防护性拷贝以及高级缓存概念。 Immutable.js供了不变的数据结构,如列表,堆栈,映射,集合等。
github: https://github.com/hammerjs/h...
文档: http://hammerjs.github.io/
Hammer.js是一个 JS 库,具备20,900个GitHub Stars,可为Web应用程序带来多点触摸手势。 它很小,没有任何依赖性,而且能够识别由触摸,鼠标或指针事件产生的手势。
默认状况下,它会添加用于点击,双击,滑动,按下等的识别器,可是您能够定义本身的此类识别器集。
github: https://github.com/Leaflet/Le...
文档: https://leafletjs.com/
在建立移动友好的交互式地图时,Leaflet 是一个很棒的 JS 库。它是开源的,在GitHub上有26700个星星,很是轻量,而且拥有大多数开发人员须要的全部特性。
它能够在全部主流的移动和桌面平台上开箱即用,能够经过插件进行扩展,而且有一个文档良好的、简单的API。
原文连接: segmentfault.com/a/119000002…原文做者:前端小智
原文出处:segmentfault