文章目录
- 1. 前言
- 2. 模块列表
- 2.1 强烈推荐
- 2.1.1 [module-alias](https://github.com/ilearnio/module-alias)
- 2.1.2 [address](https://github.com/node-modules/address)
- 2.1.3 [fs-extra](https://github.com/jprichardson/node-fs-extra)
- 2.1.4 [https-proxy-agent](https://github.com/TooTallNate/node-https-proxy-agent)
- 2.1.5 [iconv-lite](https://github.com/ashtuchkin/iconv-lite)
- 2.1.6 [pm2](https://github.com/Unitech/pm2)
- 2.1.7 [node-fetch](https://www.npmjs.com/package/node-fetch)
- 2.1.8 [fetch-h2](https://www.npmjs.com/package/fetch-h2)
- 2.1.9 [chokidar](https://www.npmjs.com/package/chokidar)
- 2.1.10 [clipboardy](https://www.npmjs.com/package/clipboardy)
- 2.1.11 [nodemon](https://www.npmjs.com/package/nodemon)
- 2.1.12 [crypto-js](https://www.npmjs.com/package/crypto-js)
- 2.1.13 [log4js](https://www.npmjs.com/package/log4js)
- 2.1.14 [node-cron](https://www.npmjs.com/package/node-cron)
- 2.1.15 [uuid](https://www.npmjs.com/package/uuid)
- 2.2 推荐
- 2.2.1 [pinyin](https://github.com/hotoo/pinyin)
- 2.2.2 [nodemailer](https://www.npmjs.com/package/nodemailer)
- 2.2.3 [webdriverio](https://www.npmjs.com/package/webdriverio)
- 2.2.4 [koa](https://www.npmjs.com/package/koa)
- 2.2.5 [mysql](https://www.npmjs.com/package/mysql)
- 2.2.6 [node-notifier](https://www.npmjs.com/package/node-notifier)
- 2.2.7 [node-xlsx](https://www.npmjs.com/package/node-xlsx)
- 2.2.8 [redis](https://www.npmjs.com/package/redis)
- 2.2.9 [uglify-js](https://www.npmjs.com/package/uglify-js)
- 2.2.10 [js-yaml](https://www.npmjs.com/package/js-yaml)
- 2.2.11 [mammoth](https://www.npmjs.com/package/mammoth)
- 2.2.12 [m3u8](https://www.npmjs.com/package/m3u8)
- 2.2.13 [chalk](https://www.npmjs.com/package/chalk)
- 2.2.14 [geoip-lite](https://www.npmjs.com/package/geoip-lite)
- 2.2.15 [ip-cidr](https://www.npmjs.com/package/ip-cidr)
- 2.2.16 [open-file-explorer](https://www.npmjs.com/package/open-file-explorer)
- 2.2.17 [eggjs](https://eggjs.org/zh-cn/intro/quickstart.html)
1. 前言
我们在写 nodejs 程序时,官方提供的模块都是基础的模块,而我们在进行业务开发时,用更方便的(处理了 windows/macOS 兼容的模块)模块会使得开发过程变得更加简单。基于此,笔者将列举一些 nodejs 三方库,供读者参考。
2. 模块列表
此小节列举笔者强烈推荐的模块列表。
2.1 强烈推荐
2.1.1 module-alias
让 nodejs 项目具备以别名(与 webpack-alias 类似)的形式在项目中引入项目中其他 nodejs 的模块能力,极大了优化了开发体验。
2.1.2 address
极简模式获取当前机器的 IP 地址、mac 地址等信息。
2.1.3 fs-extra
对 fs 模块的扩展,极大的简化了文件、文件夹的相关操作。
2.1.4 https-proxy-agent
非常好用的 http(s) 代理模块。
2.1.5 iconv-lite
非常好用的文件编码转换工具。
2.1.6 pm2
非常好用的 7*24 工具。
2.1.7 node-fetch
非常好用的仿 fetch 模块。fetch v2.6.1 仅支持 http1.1。
2.1.8 fetch-h2
支持 http2 的 fetch 客户端。
2.1.9 chokidar
简单易用的文件及文件夹监听模块。
2.1.10 clipboardy
简单易用剪切板模块。
2.1.11 nodemon
简单易用的文件变更之后,自动重启服务的工具。
2.1.12 crypto-js
简单易用加密模块。
2.1.13 log4js
功能强大的日志模块。
2.1.14 node-cron
简单易用的 cron 模块。
2.1.15 uuid
方便易用的 uuid 模块。
2.2 推荐
此小节列举笔者推荐的模块列表。
2.2.1 pinyin
汉字拼音转换工具
2.2.2 nodemailer
好用的邮件发送工具。
2.2.3 webdriverio
浏览器自动化工具。默认情况下,WebdriverIO(v7.10.1) 使用 Puppeteer 来自动化 Chrome、Firefox 或 Chromium Edge 等浏览器。
2.2.4 koa
简易的 http(s)服务器,搭配 koa-router、koa-static 可以用 nodejs 来开发 Restful API。
2.2.5 mysql
nodejs 连接 mysql 的驱动模块。
2.2.6 node-notifier
简单易用的通知模块。
2.2.7 node-xlsx
excel 解析/构建模块。
2.2.8 redis
nodejs redis 客户端。
2.2.9 uglify-js
代码丑化、压缩模块。
2.2.10 js-yaml
yaml 解析/构建模块。
2.2.11 mammoth
将 .docx 转换为 html/markdown。
2.2.12 m3u8
m3u8 解析/构建模块。
2.2.13 chalk
使终端的输出具备颜色。
2.2.14 geoip-lite
简单易用的 geoip 工具,ip 数据更新方法,请查阅官方文档。
2.2.15 ip-cidr
简单易用的 ip-cidr 模块。
2.2.16 open-file-explorer
用 explorer/finder 中打开文件夹。
2.2.17 eggjs
易用的后台开发框架。