const Koa = require('koa'); const server = new Koa(); const bodyParser = require('koa-bodyparser')(); const compress = require('koa-compress')(); const cors = require('@koa/cors')(/* Add your cors option */); const helmet = require('koa-helmet')(/* Add your security option */); const logger = require('koa-logger')(); const requestHandler = require('./middleware/request.middleware'); const { isDevelopment } = require('./config'); const applyApiMiddleware = require('./api'); /** * Add here only development middlewares */ if (isDevelopment) { server.use(logger); } /** * Pass to our server instance middlewares */ server .use(bodyParser) .use(helmet) .use(compress) .use(cors); // Logger server.use(async (ctx, next) => { const start = new Date(); await next(); const ms = new Date() - start; console.log(`${ctx.method} ${ctx.url} - ${ctx.status} - ${ms}ms`); }); server.use(requestHandler); // 必须在最后 /** * Apply to our server the api router */ applyApiMiddleware(server); module.exports = server;