Node系统包
| 名称 | 功能 |
|---|---|
| http | http模块 |
| fs | 文件模块 |
| path | 路径模块 |
| net | 网络模块(包含Socket) |
| ip | ip模块 |
| url | 网址模块 |
| zlib | gzip压缩模块 |
| crypto | 加解密模块 |
业务工具包
| 名称 | 功能 |
|---|---|
| joi | 请求参数校验 |
| md5 | md5加密 |
| crypto-js | 数据加密/解密库,支持多种加密算法,如AES、DES、SHA-1、SHA-256、MD5等。不适合密码存储,因为加密是可逆的。通常用于对称加密、非对称加密、哈希生成等。加密敏感数据:使用AES,数字签名/验证:使用SHA 系列 |
| bcryptjs | 密码哈希的库,加密不可逆,专门设计用于安全地存储密码 |
| jsonwebtoken | 生成token |
| uuid | 创建uuid |
| node-uuid | 创建uuid |
| faker.js | 生成大量的虚假数据 |
| mime | 文件类mime型模块,常用于Content-Type |
| multer | 文件上传 |
| formidable | 文件上传 |
| http-proxy | 代理模块 |
| http-proxy-middleware | 基于http-proxy的封装 |
| json2excel、json2xls | json数据转Excel表格 |
| json5 | json的增强版,支持普通对象的方式书写json,且支持单行注释 |
| socket.io | websoket实时通讯服务端 |
| ZeroMQ | 消息传递,适用于构建高性能、灵活的应用程序之间的通信通道 |
| MQTT | 消息订阅模式,适用于物联网领域的低带宽、资源受限环境下的消息传递 |
| Sequelize | 提供对 MySQL,MariaDB,SQLite 和 PostgreSQL 数据库的简单访问 |
| koa-helmet | 它通过设置 HTTP 头来增加安全性,并提供了一些防止常见攻击的功能 |
| query-string | 处理get请求参数的字段类型,比如从string改成number |
| pino | 记录日志 |
环境工具包
| 名称 | 功能 |
|---|---|
| pm2 | 托管服务,关闭xshell后应用保存运行,代码有更改时会自动重启服务更新 |
| nodemon | 监听代码文件的变动,当代码改变之后,自动重启 |
| supervisor | 监控文件修改,自动重启服务 |
| concurrently | 并行地运行多个命令(同时跑前端和后端的服务) |
| anywhere | 静态web服务器 |
| dotenv | 配置环境变量 |
| portfinder | 检测端口是否可用,如果被占用会重新寻找一个可用的端口 |
| cross-env | 配置环境变量与dotenv功能类似 |
| pkg | 将 Node.js 项目打包为可执行文件 |
nodemon 使用:
全局安装:
npm install -g nodemon
创建软链接(linux下)
ln -s /usr/local/src/nodejs/bin/nodemon /usr/local/bin/nodemon
启动(nodemon命令默认打开目录下的index.js文件,命令中也可省略index.js)
nodemon index.js
重启
rs
配置忽略文件
新建nodemon.json,忽略监听指定文件,这些文件的修改不会重启服务
{
"ignore": [
"config.default.js"
]
}
concurrently 使用
使用方法:https://www.qiuzhi99.com/articles/javascript/595.html

本文介绍Node.js开发中常用的NPM工具,包括node自带的http、fs、path等模块,以及第三方包如pm2、nodemon、concurrently等,涵盖了服务托管、代码监听、并行命令执行、数据生成、安全加密、数据库访问等多个方面。
2171





