1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465666768 |
- import Koa from 'koa';
- import { PORT, HOST } from './app.config.mjs';
- import router from './router/index.mjs';
- 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(router.routes());
- // 在options请求中响应服务端支持哪些跨域的请求方法
- app.use(router.allowedMethods());
- app.listen(PORT, HOST, () => {
- console.info(`Server is running at 'http://${HOST}:${PORT}'`);
- });
|