nodejs开发常用到的软件包总结(持续更新)
发表于 2017-04-04
更新于 2024-05-23
分类于 技术专栏
阅读量 13241
字数统计 3722
前言
Nodejs开发多了的时候,就会发现有好多常用的软件包值得推荐出来,如果你也有好的软件包,在后台使用,欢迎提PR。该文章同步在我的github上。我将这些包按照功能简单分类一下,如果你觉得分类不合理,也欢迎一起讨论。
1、日志
- pino: 性能极好的nodejs日志器。它还包括一个shell界面以更好地打印它的日志文件
- winston: 一款多传送异步日志库。Winston被设计成一款简单并且通用的日志库以支持多重传送。传送指的是你日志存储的设备。一个winston日志器的实例可以配置成多个日志等级使用不同的传送。比如你的错误日志可能需要存储到远程存储器(比如数据库),但是其他的日志等级都保存到本地文件或者直接输出到控制台
- winston-daily-rotate-file: 配合winston使用,能够每天记录日志到循环的文件中去。
2、基础包
- lodash: 一款JS库,封装了很多有用的JS API
- co: 是一个能够接受一个generator,并且自动执行generator内部的逻辑的软件库。
- moment: 一个轻量级的JS日期库,用于分析、校验、操作和格式化日期
- chokidar: 一款软件包优雅地封装了Nodejs的
fs.watch
/fs.watchFile
/fsevents
方法 - bluebird: bluebird是一个功能齐全的promise库, 它专注于创新的特性和性能
3、Express
- express-session: Express下session中间件
- multer: Multer 是一个 node.js 中间件,用于处理 multipart/form-data 类型的表单数据, 它主要用于上传文件. 它是写在 busboy 之上非常高效。注意: Multer 不会处理任何非 multipart/form-data 类型的表单数据.
- morgan: Nodejs下HTTP请求日志中间件
- csurf: Nodejs下CSRF保护中间件
- connect-flash: flash 是 session 中一个用于存储信息的特殊区域。消息写入到 flash 中,在跳转目标页中显示该消息。flash 是配置 redirect 一同使用的,以确保消息在目标页面中可用。参考connect-flash 用法详解
- cookie-parser: cookie分析中间件
- serve-favicon: favicon显示中间件
4、Koa
- koa-bodyparser: Koa的报文body分析中间件,支持
json
、form
、text
类型的Body - koa-cors: koa的CORS中间件
- koa-generic-session: Koa通用的session中间件
- koa-multer: Koa处理 multipart/form-data 类型的表单数据的中间件
- koa-router: Koa的路由中间件
- koa-static: Koa静态文件传输中间件
5、存储
- ioredis: 一款功能齐全性能优越的redis客户端
- mongoose: Mongoose是一款MongoDB对象模型工具,被设计成运行在一个异步的环境下。
- connect-redis: 这是一款Redis的session存储器。
6、辅助
- Chance: Javascript的随机生成器辅助工具
- js-to-java: 提供一种简单地方式去包裹JS对象为java对象。在hessian.js我们需要使用js对象来写java的类名,所以我们就使用这个库来自动编码,将js的对象转为java的对象。
- xml2js: 一款可以将XML文件转为JS对象的转换器
- colors
- joi: 对象语法描述语言以及对象校验,可以用于定义nodejs的路由传参的对象内部成员的类型并做校验
- serialize-javascript: 序列化JS为JSON的超子集,包含正则表达式以及函数都会被JSON掉。
- js-yaml: YAML文件的解析器。
- uuid
- session-file-store: 能够存储session到指定文件中,可以用在Express和Koa中
*node-fs-extra:
fs-extra
添加了原生fs
模块中没有的文件系统方法,包括mkdirp
,rimraf
, 和ncp
等
7、HTTP客户端
-
axios:一款基于Promise API 的HTTP客户端
-
request: 一款简化版的HTTP客户端
-
request-promise: 一款基于Bluebird的Promise API的HTTP客户端,对
request
的再封装。
公众号关注一波~
网站源码:linxiaowu66 · 豆米的博客
Follow:linxiaowu66 · Github
关于评论和留言
如果对本文 nodejs开发常用到的软件包总结(持续更新) 的内容有疑问,请在下面的评论系统中留言,谢谢。