专门做生鲜的网站,抚州专业的企业网站建设公司,营销网站推荐,湘潭自助建站系统译者按#xff1a;你可能已经用到Underscore或者Lodash。本文列举了11个常用的库来提高开发效率。为了保证可读性#xff0c;本文采用意译而非直译。另外#xff0c;本文版权归原作者所有#xff0c;翻译仅用于学习。JavaScript依然是2018年最受欢迎、最流行的编程语言你可能已经用到Underscore或者Lodash。本文列举了11个常用的库来提高开发效率。为了保证可读性本文采用意译而非直译。另外本文版权归原作者所有翻译仅用于学习。JavaScript依然是2018年最受欢迎、最流行的编程语言所以它的生态系统也十分完善。JavaScript小小的标准库不足以应付各种开发需求。在Github上有许多流行的JavaScript库。在这里我整理了一个列表推荐给大家1. Underscore Lodash (dah)也许大多数童鞋都已经知道它们。Underscore提供了日常使用的基础函数。Lodash, 作为NPM最多下载量和被依赖最多的包提供了更加支持跨环境一致性的对数组、字符串、对象和参数对象的支持。它已经是Underscore的超集。Underscore和Lodash有同一组核心开发者维护。你日常开发中绝对少不了要用到它。Lodashhttps://github.com/lodash/lodashUnderscorehttps://github.com/jashkenas/underscore2. Ramda拥有超过12K的starsRamda库可以用来在JavaScript中函数式编程专门为函数式编程风格而设计更容易创建函数式 pipeline、且从不改变用户已有数据。摘自官方Ramda 主要特性如下Ramda 强调更加纯粹的函数式风格。数据不变性和函数无副作用是其核心设计理念。这可以帮助你使用简洁、优雅的代码来完成工作。Ramda 函数本身都是自动柯里化的。这可以让你在只提供部分参数的情况下轻松地在已有函数的基础上创建新函数。Ramda 函数参数的排列顺序更便于柯里化。通常最后提供要操作的数据。最后两点一起使得将多个函数构建为简单的函数序列变得非常容易每个函数对数据进行变换并将结果传递给下一个函数。Ramda 的设计能很好地支持这种风格的编程。Ramdahttps://github.com/ramda/ramda你也可以看看immutable.jshttps://github.com/facebook/immutable-js/3. MathJS拥有超过6K的starsMath.js是一个Node.js和JavaScript的math扩展库并且和内置的Math库兼容。该库中包含一个灵活的表达式分析器并且有非常多的内置函数可以使用。你甚至可以自行做扩展。Math.jshttps://github.com/josdejong/mathjs4. Moment/date-fns拥有超过40K的starsmoment.js是一个JavaScript的时间处理库可以用来分析、验证、处理和格式化时间。Moment被设计可以用于浏览器和Node.js环境下。对于V2.10.0代码完全用ECMAScript 6模块实现。Date-fns也是一个非常流行超过11K的stars的时间处理库提供超过130多个函数很多人把它当做moment.js查看对比https://github.com/date-fns/date-fns/issues/275#issuecomment-264934189的替代品。Date-fns完全用纯函数实现并保证不可修改性。它可以很好的和webpackBrowserify、或Rollup配合使用并支持tree-shaking。momenthttps://github.com/moment/moment/date-fnshttps://github.com/date-fns/date-fns5. Sugar拥有超过3.5K个starsSugar是一个可以用来处理原生对象的库。自定义的构建和模块化的npm包使得你可以只需要加载你需要的包。用户也可以自定义方法或则使用插件处理特殊情况。Sugarhttps://github.com/andrewplummer/Sugar6. Lazy拥有5K个starslazy.js是一个函数式的JavaScript库。该库的底层的实现都是懒执行的也就是说尽量不做运算除非站的需要。这个库不依赖第三方库这里有一个demohttp://danieltao.com/lazy.js/demos/events/这里是API文档http://danieltao.com/lazy.js/。比如我们要生成300个1到1000之间完全不同的随机数可以这样写Lazy.generate(Math.random) .map(function(e) { return Math.floor(e * 1000) 1; }) .uniq() .take(300) .each(function(e) { console.log(e); });用JavaScript直接去写代码就会复杂很多了。lazy.jshttps://github.com/dtao/lazy.js7. CollectJS拥有超过3.5K个starscollect.js是一个非常有前景并且不依赖于任何第三方库的库。它提供了针对数组和对象的包装使用非常方便。const collection collect([{ name: JavaScript: The Good Parts, pages: 176}, { name: JavaScript: The Definitive Guide, pages: 1096}]);collection.avg(pages);// 636collect.jshttps://github.com/ecrmnn/collect.js/8. ChanceJSChance是一个用来随机生成字符串、数字等的函数他可以减少一些非随机性在你需要写自动化测试或则其它你需要生成随机的地方很有用。虽然只要3K个stars但是这个库真的非常方便。chancejshttps://github.com/chancejs/chancejs9. ChartJS拥有超过40K的starschart.js是一个少即是多的的经典例子。它只提供了8中可视化的类型每一种都有动画并且可以自定义。Chart.js让你可以使用canvas标签来作图并且在不同的浏览器上高效渲染。chart.jshttps://github.com/chartjs/Chart.js10. Polished拥有超过3.5K个stars由styled-componentshttps://github.com/styled-components/styled-components团队开发Polished是一个用于写css样式的工具集提供saas风格的帮助函数和mixins。该库和styled-componentsAphroditeRadium兼容。polishedhttps://github.com/styled-components/polished11. MoutMout.js是一个JavaScript的模块化工具集合能够以AMD模块的形式在浏览器中使用或者在Node.js中。Mout.js让你可以只加载你需要的模块或者函数如下所示// you can load individual methods (recommended)var map require(mout/array/map);map([1, 2], function(v){ return val * val; }); // [1, 4]// a single packagevar stringUtils require(mout/string);stringUtils.camelCase(Foo Bar); // fooBar// or the whole libvar mout require(mout);console.log( mout.math.clamp(17, 0, 10) ); // 10mouthttps://github.com/mout/mout其他Voca一个用于处理字符串的JavaScript库包含了很多的帮助函数比如change case, trim, pad, slugify, latinise, sprintf‘y, truncate, escape等等。vocahttps://github.com/panzerdp/vocaLicia虽然只有500来个stars但是Licia提供了非常多的工具函数对于日常使用非常有帮助。官方介绍Licia是一套在开发中实践积累起来的实用JavaScript工具库。该库目前拥有超过180个模块包括Dom操作cookie设置类创建模板函数日期格式化等实用模块同时配套有打包工具Eustia进行定制化使JS脚本加载量缩减在10KB以下极大优化移动端页面的加载速度。Licia由RedHoodhttps://www.surunzi.com/开发详细了解可以查看他本人在知乎上写的对Licia的介绍: 超实用JavaScript工具库https://zhuanlan.zhihu.com/p/25502829。liciahttps://github.com/liriliri/licia来源https://blog.fundebug.com/2018/07/02/11-js-utility-you-should-know-in-2018/原文11 Javascript Utility Libraries You Should Know In 2018https://blog.bitsrc.io/11-javascript-utility-libraries-you-should-know-in-2018-3646fb31ade翻译Fundebug选择置顶关键时刻第一时间送达 长按二维码关注