34个有用的 JavaScript 库,现在就可以用起来
实用功能
01、lodash
地址:https://github.com/lodash/lodash
Lodash 是一个 JavaScript 库,它为常见的编程任务提供实用功能,它使用函数式编程范式。
例子:
const _ = require('loadsh')console.log( _.chunk(['a', 'b', 'c', 'd'], 3))
// => [['a', 'b', 'c'], ['d']]console.log( _.difference([2, 1], [2, 3]))
// => [1];
02、underscore
地址:https://www.npmjs.com/package/underscore
Underscore.js 是一个用于 JavaScript 的实用工具带库,它为常见的功能嫌疑人(each, map, reduce, filter…)提供支持,而无需扩展任何核心 JavaScript 对象。
例子:
const _ = require('underscore')// Return a copy of the object, filtered to only have values for the allowed keys (or array of valid keys).
_.pick({name: 'moe', age: 50, userid: 'moe1'}, 'name', 'age');;
03、Async
网址:https://www.npmjs.com/package/async
Async 是一个实用模块,它为使用异步 JavaScript 提供了直接、强大的功能。
HTTP 请求
HTTP 请求的库。
04、axios
网址:https://github.com/axios/axios
用于浏览器和 node.js 的基于 Promise 的 HTTP 客户端。
例子:
const axios = require('axios').default;let fakeAPI = 'https://jsonplaceholder.typicode.com/todos/1'axios.get(fakeAPI).then(function (response) {// handle successconsole.log(response);console.log(response.data);}).catch(function (error) {// handle errorconsole.log(error);}).then(function () {// always executed});;
05、node fetch
网址:https://github.com/node-fetch/node-fetch
将 Fetch API 引入 Node.js 的轻量级模块。
06、got
网址:https://github.com/sindresorhus/got
适用于 Node.js 的人性化且功能强大的 HTTP 请求库。
例子:
import got from 'got';
const {headers} = await got('https://httpbin.org/anything',{headers: {foo: 'bar'}}
).json();
07、superagent
网址:https://github.com/visionmedia/superagent
小型渐进式客户端 HTTP 请求库,与具有相同 API 的 Node.js 模块,支持许多高级 HTTP 客户端功能。
08、needle
地址:https://github.com/tomas/needle
Needle 是一个简洁美观的 Node HTTP 请求库,只有两个真正的依赖项。
服务器端
您可以在 Web 服务器上使用这些库。
09、jsonwebtoken
网址:https://www.npmjs.com/package/jsonwebtoken
JSON Web 令牌的实现。
10、body-parser
网址:https://www.npmjs.com/package/body-parser
Node.js 正文解析中间件。
在处理程序之前在中间件中解析传入的请求正文,可在 req.body 属性下使用。
11、cors
网址:https://www.npmjs.com/package/cors
CORS 是一个 node.js 包,用于提供 Connect/Express 中间件,可用于通过各种选项启用 CORS。
12、GraphQL.js
网址:https://www.npmjs.com/package/graphql
GraphQL 是由 Facebook 创建的 API 查询语言工具。
13、socket.io
网址:https://www.npmjs.com/package/socket.io
Socket.IO 支持基于事件的实时双向通信。它包括:
一个 Node.js 服务器(这个存储库)
浏览器的 Javascript 客户端库(或 Node.js 客户端)
14、ws
网址:https://www.npmjs.com/package/ws
ws 是一个简单易用、速度极快且经过全面测试的 WebSocket 客户端和服务器实现。
15、Passport
网址:https://www.npmjs.com/package/passport
Passport 是与 Express 兼容的 Node.js 身份验证中间件。
Passport 的唯一目的是验证请求,它通过一组称为策略的可扩展插件来完成。
16、bcrypt
网址:https://www.npmjs.com/package/bcrypt
帮助您散列密码的库。
bcrypt.genSalt(saltRounds, function(err, salt) {bcrypt.hash(myPlaintextPassword, salt, function(err, hash) {// Store hash in your password DB.});
});
String
17、nanoid
用于 JavaScript 的小型、安全、URL 友好、唯一的字符串 ID 生成器。
Nano ID 与 UUID v4(基于随机)相当。它在 ID 中具有相似数量的随机位(Nano ID 中为 126,UUID 中为 122),因此它具有相似的碰撞概率:
https://github.com/ai/nanoid/
import { nanoid } from 'nanoid/async'
async function createUser () {user.id = await nanoid()
}
18、uuid
网址:https://github.com/uuidjs/uuid#readme
用于创建 RFC4122 UUID
Database
执行与数据库相关的操作。
19、Mongoose
网址:https://www.npmjs.com/package/mongoose
Mongoose 是一个 MongoDB 对象建模工具,旨在在异步环境中工作。Mongoose 支持 Promise 和回调。
20、sequelize
网址:https://www.npmjs.com/package/sequelize
Sequelize 是一个易于使用且基于 Promise 的 Node.js ORM 工具,适用于 Postgres、MySQL、MariaDB、SQLite、DB2、Microsoft SQL Server 和 Snowflake。它具有可靠的事务支持、关系、急切和延迟加载、读取复制等。
Logger
21、morgan
网址:https://www.npmjs.com/package/morgan
HTTP 请求记录器,存储 HTTP 请求并让您简要了解应用程序的使用方式以及可能存在的错误。
配置
配置您的项目。
22、DotEnv
网址:https://github.com/motdotla/dotenv#readme
Dotenv 是一个零依赖模块,它将环境变量从 .env 文件加载到 process.env 中。将配置与代码分开存储在环境中是基于十二要素应用程序方法。
23、config
网址:https://github.com/node-config/node-config#readme
Node-config 为您的应用程序部署组织分层配置。
它允许您定义一组默认参数,并将它们扩展为不同的部署环境(开发、质量保证、登台、生产等)。
配置存储在应用程序的配置文件中,并且可以被环境变量、命令行参数或外部源覆盖和扩展。
图像处理
24、sharp
网址:https://github.com/lovell/sharp#readme
这个模块的典型用例是将常见格式的大图像转换为更小的、对 Web 友好的 JPEG、PNG、WebP、GIF 和不同尺寸的 AVIF 图像。
sharp(inputBuffer).resize(320, 240).toFile('output.webp', (err, info) => { ... });
网页抓取
25、Cheerio
网址:https://github.com/cheeriojs/cheerio
专为服务器设计核心 jQuery 的快速、灵活和精简的实现,它广泛用于网络抓取工作,有时还用于自动化任务。
26、Puppeteer
网址:https://github.com/puppeteer/puppeteer#readme
Puppeteer 是一个 Node 库,它提供了一个高级 API 来通过 DevTools 协议控制 Chrome 或 Chromium。Puppeteer 默认运行无头,但可以配置为运行完整(非无头)Chrome 或 Chromium。
数据验证
27、Validator
网址:https://github.com/validatorjs/validator.js
字符串验证器。
例子:
var validator = require('validator');
console.log('isEmail: ',validator.isEmail('foo.bar.com'));
console.log('isIP', validator.isIP('192.168.5.5'));;
28、yup
网址:https://github.com/jquense/yup
Yup 是一个用于运行时值解析和验证的模式构建器。定义模式、转换值以匹配、断言现有值的形状,或两者兼而有之。是的,模式极具表现力,允许对复杂的、相互依赖的验证或值转换进行建模。
日期处理
29、day.js
网址:https://github.com/iamkun/dayjs
Day.js 是一个极简的 JavaScript 库,它解析、验证、操作和显示现代浏览器的日期和时间,并具有很大程度上与 Moment.js 兼容的 API。如果您使用 Moment.js,那么您已经知道如何使用 Day.js。
dayjs().startOf('month').add(1, 'day').set('year', 2018).format('YYYY-MM-DD HH:mm:ss');
30、moment.js
网址:https://www.npmjs.com/package/moment
用于解析、验证、操作和格式化日期的 JavaScript 日期库。
以下是这些日期库的比较:
31、date-fns
网址:https://www.npmjs.com/package/date-fns
date-fns 为在浏览器和 Node.js 中操作 JavaScript 日期提供了最全面、最简单、最一致的工具集。
32、Luxon
网址:https://www.npmjs.com/package/luxon
Luxon 是一个在 JavaScript 中处理日期和时间的库。
其他库
33、chalk
网址:https://github.com/chalk/chalk#readme
它将帮助您在终端中打印彩色字符串。
34、JSON5
网址:https://www.npmjs.com/package/json5
JSON5 数据交换格式 (JSON5) 是 JSON 的超集,旨在通过扩展其语法以包含来自 ECMAScript 5.1 的一些产品来缓解 JSON 的一些限制。
总结
以上就是我今天跟你分享的34个有关JavaScript的库,希望有你需要的,如果你觉得有用的话,请记得点赞我,关注我,并将它分享给你身边的朋友,也许能够帮助到他。
最后,感谢你的阅读,祝编程愉快!
学习更多技能
请点击下方公众号
34个有用的 JavaScript 库,现在就可以用起来相关推荐
- 19个很有用的 JavaScript 库
流行的 JavaScript 库有jQuery,MooTools,Prototype,Dojo和YUI等,这些 JavaScript 库功能丰富,加上它们众多的插件,几乎能实现任何你需要的功能,然而需 ...
- 12 个你可能从未使用过的有用的 JavaScript 库
JavaScript 在不断发展,几乎每天都有新库出来,或者扩展旧库以支持新功能.因此,我们现在拥有数千个 JavaScript 库.并非所有这些都对一般 Web 开发人员有用. 事实上,它们中的许多 ...
- 42个面向前端开发人员的很棒JavaScript 库和框架
英文 | https://javascript.plainenglish.io/42-good-javascript-libraries-and-frameworks-for-front-end-de ...
- 34 个今年11月最受欢迎的 JavaScript 库
作者:Iren Korkishko 译者:前端小智 来源:dev 点赞再看,养成习惯 本文 GitHub https://github.com/qq449245884/xiaozhi 上已经收录,更多 ...
- “非常有用”的JavaScript 和 CSS 库插件推荐
在前端开发过程中,高质量的网页设计需要直观和用户友好的界面,而且屏幕上的元素也起着非常重要的作用.Web 设计师不断地寻找优秀代码的集合,希望能提升工作效率.但找到合适的工具库并不总是那么容易的. 以 ...
- javascript 库_您应该在2020年尝试的10个很棒JavaScript库
javascript 库 JavaScript is one of the most popular languages on the web. Even though it was initiall ...
- 最新的jQuery插件和JavaScript库
每一个前端开发人员很清楚的重要性和功能的JavaScript库提供.它提供了一个简单的接口,用于构建快速动态的接口,而无需大量的代码. 谢谢你的超级从事jQuery开发者社区,人始终是创造新的和令人惊 ...
- 流行的JavaScript库 ——jQuery
1.为了简化 JavaScript 的开发, 一些 JavsScript 库诞生了. JavaScript 库封装了很多预定义的对象和实用函数.能帮助使用者建立有高难度交互的 Web2.0 特性的富客 ...
- jQuery 是一个 JavaScript 库。
JQuery 是一个 JavaScript 库. jQuery 极大地简化了 JavaScript 编程. jQuery 库可以通过一行简单的标记被添加到网页中. jQuery是一个JavaScrip ...
- jQuery插件和JavaScript库
每一个前端开发人员很清楚的重要性和功能的JavaScript库提供.它提供了一个简单的接口,用于构建快速动态的接口,而无需大量的代码. 谢谢你的超级从事jQuery开发者社区,人始终是创造新的和令人惊 ...
最新文章
- python 3.7.3 thinker_GitHub - thinkerwalker/python3-bin
- Android Studio打包程序时出现transformClassesWithDexForRelease错误
- 【JavaScript】jQuery Ajax 实例 全解析
- 轻量级3d模型查看器_耐能取得两项软件著作权,自研轻量级3D人脸识别算法领先业界...
- linux系统正常停机的命令,Linux系统重启命令大全
- 使用 TRESTClient 與 TRESTRequest 作為 HTTP Client 之二 (POST 檔案)
- Yii2 认证实现原理和示例
- java逆向框架,Android逆向之逆向框架层
- 一周死磕fastreport ----ASP.NET (二)
- Linux 用户线程数与文件句柄树调整(nproc与nofile的问题)
- python机器学习库sklearn——降维
- 数组玩法(1):下标移位
- java常用的date类
- 仿墨迹天气小程序源码(袋鼠天气)
- 读《我是一只IT小小鸟》有感
- 药品质量检测方法:电感耦合等离子体质谱仪
- linux下nohup后台运行RSSHub等nodejs项目,开启与关闭
- 2022-2028全球及中国健康资讯交换(HIE)行业研究及十四五规划分析报告
- 2022年轨道交通行业研究报告
- 从MySQL中导出表中数据_用命令从mysql中导出/导入表结构及数据
热门文章
- C++1.1 #include<iostream>
- CSS 实现文字头像(圆角头像文字内容)
- java图书借阅系统java图书管理系统java书籍借阅系统
- STM32下载程序的三种方法(串口、ST-LINK、 ST-LINK Utility)
- 莫烦Python代码实践(四)——DQN基础算法工程化解析
- cropperjs裁剪头像功能实现总结
- PC端UU加速器加速Steam无法在社区留言问题
- oracle查看数据库文件大小
- VisualStudio2017密钥(key)
- 软件选择,iDreamPiano、freepiano、EveryonePiano