import Koa from 'koa'; import { PORT, HOST } from './app.config.mjs'; import router from './router/index.mjs'; import serve from 'koa-static'; // console.log(appStatic); const app = new Koa(); // 中间件的执行顺序 // 通过app.use方法 去 使用中间件。多次调用 就可以 注册多个中间件 // app.use((ctx, next) => { // console.log('a'); // next(); // }); // app.use((ctx, next) => { // next(); // console.log('b'); // }); // app.use((ctx, next) => { // console.log('c'); // next(); // }); // app.use((ctx, next) => { // console.log('a start'); // next(); // console.log('a end'); // }); // app.use((ctx, next) => { // console.log('b start'); // next(); // console.log('b end'); // }); // app.use((ctx, next) => { // console.log('c start'); // next(); // console.log('c end'); // }); // a start, b start, c start, c end, b end, a end // app.use(async (ctx, next) => { // console.log('a start'); // await next(); // console.log('a end'); // }); // app.use(async (ctx, next) => { // console.log('b start'); // await next(); // console.log('b end'); // }); // app.use(async (ctx, next) => { // console.log('c start'); // await next(); // console.log('c end'); // }); // app.use((ctx) => { // ctx.body = 'hello, world.'; // }); //! 总结:中间件的执行顺序 遵循 洋葱模型 // 托管静态文件 app.use(serve('pages')); // 注入路由功能 app.use(router.routes()); // 在options请求中响应服务端支持哪些跨域的请求方法 app.use(router.allowedMethods()); app.listen(PORT, HOST, () => { console.info(`Server is running at 'http://${HOST}:${PORT}'`); });