主要的数据在routers/index.js
中的全局中间件initParam
中已经创建,如果路由中产生了什么参数,或者中间件中有什么参数需要保存的,尽量存储在ctx.paramData
之中, 不要污染ctx。
如果产生了什么需要中断处理立即返回的请求,使用抛出软异常的方法来进行操作。比如
async function isLogin(ctx, next) {
if (ctx.paramData.session.user === undefined) {
throw new SoftError(Status.NOT_AUTHORIZED, '未登录')
}
return next()
}
发送数据的时候,请使用封装好的数据sendData
。注意:如果是因为用户产生的错误,也请使用sendData发送数据,使用状态码进行区分
- 建议安装
vscode
,使用如下debug配置
{
"version": "0.2.0",
"configurations": [
{
"type": "node",
"request": "attach",
"name": "Attach to Port",
"address": "localhost",
"port": 5858,
"restart": true,
"timeout": 100000
}
]
}
同时安装nodemon
,这个已经在dev
依赖中了
npm install --only=dev 通过
npm
启动nodemon
npm run dev 然后vscode
开启名为Attach to Port
的调试,连接到nodemon