Node.js 服务器端
WARNING
该部分待完善
node 全栈近在眼前 🚀
导航
ESM 和 CJS
环境配置
方法论
接口规范
- json-rpc
- restful api
- openapi specification
- 前后端接口规范 - RESTful 版
- 公司规定所有接口都用 post 请求,这是为什么? - 牛岱的回答 - 知乎
- GET 和 POST 到底有什么区别? - 大宽宽的回答 - 知乎
公共 API
身份验证
数据库
- 数据库教程
- SQL 必知必会
- mysql - 最流行的关系型数据库
- MySQL 必知必会
- mysql workbench
- vitess - 部署、扩展和管理大型 MySQL 实例集群的数据库解决方案
- mariadb - mysql 的开源替代
- postgresql - 最先进的开源数据库
- mongodb - 非关系型数据库
- redis - 非关系型数据库,多用于缓存
- flyway - 数据库迁移
- 数据库表结构设计一点心得和经验
- RBAC 用户权限管理数据库设计
Node.js
管理 Node 版本
教程
- Node.js 入门教程
- 深入浅出 Node.js
- 使用 Node.js 构建 JavaScript 应用程序
- node.js 技术栈
- Web 全栈技术指南
- web 全栈体系
- node-best-practices
- understand-nodejs
- 毕设答辩,老师说 node 不可能写后台怎么办? - Coldwings 的回答 - 知乎
认证和授权
- JSON Web Token 入门教程
- jsonwebtoken
- 理解 OAuth 2.0
- OAuth 2.0 的一个简单解释
- OAuth 2.0 的四种方式
- GitHub OAuth 第三方登录示例教程
- node-oauth
- simple-oauth2
日志
请求
- got - 请求库
- node-fetch - 请求库
- axios - 请求库
- axios-mock-adapter - 拦截请求
- axios-retry
- retry-axios
- mock.js - 生成随机数据,拦截 ajax 请求
- faker.js - 生成随机数据
- mirage.js - 生成数据,拦截 ajax 请求
- superagent - 请求库
ORM/ODM
- mysql2 - mysql
- mariadb - mariadb
- node-postgres - postgresql
- mongoose - mongodb
- typegoose - mongodb
- redis - redis
- sequelize - mysql / mariadb / postgresql
- knex - mysql / mariadb / postgresql
- typeorm - mysql / mariadb / postgresql
- prisma - mysql / postgresql
- mikro - mongodb / mysql / mariadb / postgresql / sqlite
- leoric - mysql / postgresql / sqlite
定时任务
消息队列
进程管理
代理
文档
框架
- express - 快速、开放、极简的 node.js 框架
- express-rate-limit - 限制频率
- serve-static - 静态文件
- compression - 压缩
- body-parser - 解析请求体
- formidable - 解析
form-data
- cls-rtracer - 请求 id
- cors
- csurf - csrf
- express-winston - winston 支持
- express-validation - 校验
- express-jwt - jsonwebtoken 支持
- helmet - 设置 header
- koa - node.js 框架,自由度高
- koa-wiki - koa 入门教程
- fastify - node.js 框架,快速、低开销
- nest - 渐进式 node.js 框架,底层可使用 express 或 fastify
- midway.js - 适用于构建 Serverless 服务,传统应用、微服务,小程序后端的 node.js 框架
- trpc
- strapi - headless cms
- restify - REST 开发
- blitz - 基于 next 的全栈框架
- remix - 基于 react 的全栈框架
- redwood - 基于 react 的全栈框架
- adminjs - 管理面板
监控
服务器
- nginx
- open-resty
- nginx 在线配置
- nginx-proxy-manager - 用于管理 Nginx 代理主机的 Docker 容器
- Avoiding the Top 10 NGINX Configuration Mistakes
- tomcat
- lighthttpd
容器
- docker - 应用容器引擎,打包应用和依赖包到一个可移植的镜像中然后发布
- podman - docker 替代品
- kubernetes - 容器编排引擎,支持自动化部署、大规模可伸缩、应用容器化管理
Serverless
- aws - 注意区域
- 阿里云 - 注意区域
- serverless framework
- serverless glossary
- Serverless 开发速查手册
- PlanetScale - mysql serverless 服务
- mongodb atlas - mongodb serverless 服务
- upstash - redis / kafka serverless 服务