node 服务
You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
 

40 lines
1.0 KiB

const Koa = require('koa');
const app = new Koa();
require('console-color-mr'); //颜色模块
const koaBody = require('koa-body'); //处理post请求参数
app.use(koaBody({
multipart: true, // 支持文件上传
}));
// 配置解析请求中间件
const autoUpdateRouter = require('./routers/auto/AutoUpdateRouter');
app.use(autoUpdateRouter.routes());
app.use(autoUpdateRouter.allowedMethods());
// 字符串转换
const json = require('koa-json');
app.use(json());
// 捕获错误logger 记录
const logsUtil = require('./utils/LogUtil');
app.on('error', (err, ctx) => {
logsUtil.logError(ctx, err);
});
// 捕获全局请求不存在的接口返回404
app.use(async (ctx, next) => {
await next();
if (parseInt(ctx.status) === 404) {
ctx.response.status = 404;
ctx.body = '404'
} else if (parseInt(ctx.status) === 500) {
ctx.response.status = 500;
ctx.body = "500"
}
})
// 启动服务器
const port = 3000;
app.listen(port, () => {
console.info(`Server is running on port ${port}`);
});