背景
原本使用php写的一个项目,随着访问量增大,性能出现问题,本来考虑将Php从5.6升级到7.3看能不能得到解决,但是看了一些文章,说node在这些方面更出色(我自己没有验证,边写边验证),加上自己前端方面更擅长,所以决定使用koa来重写项目。正好把一些边角料知识串了一串,这里把整个项目过程中遇到的问题记录一遍。
1. 开发相关
a) koa
登录
参考
// 使用koa-session
// 检验登录
中间件处事能用功能
中间件一般就是对ctx做扩展,比如增加各种统一返回的处理函数。
我想直接扩展context的原型,这样不用每个访问都重新加载这些函数,于是我找到这个 扩展contex. 但在扩展中拿到运行时的实例(this)有些问题,待研究。
前后端分离
开发时使用nodemon起服务,部署时使用pm2. 在启动程序时分别传入环境变量区分,加载不同的前端资源即可:
b) sequelize
事务
sequelize支持事务,官方代码如下:
return sequelize.transaction(t => {
// chain all your queries here. make sure you return them.
return User.create({
firstName: 'Abraham',
lastName: 'Lincoln'
}, {transaction: t}).th