koa2 和 express
express
是非常优秀的框架,koa2
比 express
更加简单,社区也很完善。
文档
👉👉 express 中文文档
👉👉 Koa2 中文文档
脚手架
👉👉 express 脚手架
👉👉 Koa2 脚手架
使用脚手架创建 koa 项目
// 安装脚手架
npm install -g koa-generator
// 创建项目
koa2 /tmp/foo && cd /tmp/foo
// 安装依赖
npm install
// 启动项目
npm start
创建完项目以后,调整一下项目结构,放在 src
目录下面,符合日常的开发习惯。
因为我们调整了目录结构,所以需要修改一下模块的引入路径。
// src\app.js
const index = require('../src/routes/index')
const users = require('../src/routes/users')
// bin\www
var app = require('../src/app');
然后 .gitignore
添加 logs/
,项目会生成一些日志,给忽略掉。
egg.js
egg.js
是基于 koa2
封装的。
文档
👉👉 egg.js 中文文档
nest.js
nest.js
是一个默认基于 express
封装的框架。使用 Ts 语法,大量使用装饰器,学习成本比较高。
文档
说是中文官网,除了封面没几个汉字,可能是目前在国内比较小众,中文翻译的推进不是很积极。
👉👉 nest.js 中文文档
MySQL 和 Sequelize
MySQL
MySQL
是 web
程序中最常见的关系型数据库。
Sequelize
一个常用的数据库 ORM
框架。它让开发者不用写繁琐的 SQL
语句,通过 API
即可操作数据。
Mongodb 和 Mongoose
Mongodb
Mongodb
是 web
程序中最常见的 NoSQL
数据库。
Mongoose
Mongoose
是 node.js
中操作 Mongodb
数据库的模块。
MySQL 和 Mongodb
区别
MySQL
是关系型数据库,Mongodb
是文件数据库- 前者用于储存表格形式,格式规整的数据,后者用于储存文件,格式零散的数据。
场景
- 作品信息,用户信息,适合存储在
MySQL
中 - 作品的内容
JSON
数据,适合存储在Mongodb
中
Redis
大型网站,复杂业务场景,肯定会用到缓存。
多核 CPU
擅长处理多进程任务,所有 web server
也都是多进程的,无论 PM2
,Nginx
还是其他。但进程之间有内存隔离,所以需要第三方缓存服务。