美文网首页
koa2入门系列 Part 2

koa2入门系列 Part 2

作者: 郁南 | 来源:发表于2020-02-05 22:23 被阅读0次

路由中间件koa-router

在我们使用vue或者react的时候,页面跳转都会有对应都路由中间件如vue-router或者react-routrer,而koa对应的就是koa-router

1、下载

`yarn add koa-router`

2、在app.js中使用路由中间件

const Koa = require('koa');
const Router = require('koa-router');

const app = new Koa();
const router = new Router();

3、定义路由页面

上一节代码中加入路由代码之后的代码如下

const Koa = require('koa');
const Router = require('koa-router');

const app = new Koa();
const router = new Router();

app.use(async ctx => {
  ctx.body = 'Hello world !';
});

router.get('/', ctx => {
  ctx.body = '首页';
});

router.get('/news', ctx => {
  ctx.body = '新闻页';
});

//启动路由
app.use(router.routes());
app.use(router.allowedMethods());

app.listen(3000);

由于是node程序,app.js的代码改变之后,想要看到最新的结果都是要重启node服务的,所以重启之后刷新浏览器页面,结果看到的还是hello world并不是显示首页,输入http://localhost:3000/news也没显示想要的新闻页,
这是因为ctx.body = 'Hello world !'这段代码已经让node程序执行完了,并没有向下执行路由中间件,想要如期执行,就要用到koa的重要概念异步了。

const Koa = require('koa');
const Router = require('koa-router');

const app = new Koa();
const router = new Router();

app.use(async (ctx, next) => {
  console.log('1');
  await next();
  console.log('4');
});

router.get('/', ctx => {
  console.log('2');
  ctx.body = '首页';
});

router.get('/news', ctx => {
  console.log('3');
  ctx.body = '新闻页';
});

//启动路由
app.use(router.routes());
app.use(router.allowedMethods());

app.listen(3000);

重启node,刷新浏览器,Bingo!终于出现了想要的首页,而且在命令行下面发现以下输出

chenhy-2:koa2 chenhaoyin$ node app.js
1
2
4

然后跳转http://localhost:3000/news,页面同时展现的是新闻页,命令行下面也会分别打印1 3 4
到了这里,koa的路由中间件基本用法就实现了,接着往下看

相关文章

  • koa2入门系列

    koa2入门系列(一) koa2入门系列(二) koa2入门系列(三) koa2入门系列(四) koa2入门系列(...

  • koa2入门系列 Part 2

    路由中间件koa-router 在我们使用vue或者react的时候,页面跳转都会有对应都路由中间件如vue-ro...

  • koa2入门系列 Part 1

    对于koa就不过多介绍了,具体可以自行百度或者看官方文档。 1、初始化项目 首先创建项目文件夹mkdir koa2...

  • koa2入门系列 Part 4

    koa静态文件配置 上一节讲述了在koa中的模版渲染,也就是html文件在koa中的应用,但作为前端的渲染文件,光...

  • koa2入门系列 Part 3

    koa页面渲染 上一节我们通过koa的路由中间件,在上下文的body属性中渲染页面内容,但那只是基本的一些字符串内...

  • Koa2教程(初识篇)

    目录一、定义二、安装三、koa中间件 系列教程Koa2教程(入门篇)Koa2教程(常用中间件篇) 一、定义 一个简...

  • koa 洋葱模型

    分析 1、首先这是koa2最简单的入门例子,我将通过这个入门例子来演示koa2的洋葱模型 在这里面,app首先是调...

  • koa2入门系列(六)

    上一节[https://www.jianshu.com/p/6f2fb8d04378]实现了get和post的接口...

  • koa2入门系列(五)

    模拟接口请求,以及数据处理中间件 突然踏入node相关的学习,你或许曾经会有这样的疑问:前端既然已经有了React...

  • 20170625_kotlin入门_part3

    part1 part2 这是入门系列的第三部分,前两章节可以在上面进入 Callable references R...

网友评论

      本文标题:koa2入门系列 Part 2

      本文链接:https://www.haomeiwen.com/subject/fuvexhtx.html