123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657 |
- import path from 'path';
- import Koa, { Context, DefaultState } from 'koa';
- import Router from 'koa-router';
- import consola from 'consola/dist/consola';
- import bodyParser from 'koa-bodyparser';
- import helmet from 'koa-helmet';
- import koaStatic from 'koa-static'
- import controllers from './controllers';
- import config from './config';
- import redisMiddleware from './middlewares/redis';
- import limitMiddleware from './middlewares/limit';
- import logsMiddleware from './middlewares/logs';
- import responseMiddleware from './middlewares/response';
- const app = new Koa<DefaultState, Context>();
- app.use(helmet());
- app.use(koaStatic(path.join(__dirname, config.staticPath)))
- app.use(bodyParser());
- app.use(logsMiddleware());
- app.use(redisMiddleware());
- app.use(limitMiddleware());
- app.use(responseMiddleware());
- app.on('error', (err, ctx: Context) => {
- ctx.$response(err, 'error', false);
- });
- const apiRouter = new Router<DefaultState, Context>();
- apiRouter.get('/code', controllers.code);
- const router = new Router<DefaultState, Context>();
- router.get('/', controllers.home);
- router.use('/api', apiRouter.routes(), apiRouter.allowedMethods());
- app.use(router.routes()).use(router.allowedMethods());
- const port = config.port;
- app.listen(port, () => {
- consola.success(`server is started at: http://localhost:${port}`)
- });
|