美文网首页
koa 起步

koa 起步

作者: SlowGO | 来源:发表于2018-12-26 12:24 被阅读3次

创建 koa server

当前 koa 版本为 2.6.2

初始化项目:

mkdir koala
cd koala
npm init koala
npm install koa --save

创建 index.js,内容:

'use strict';

const koa = require('koa')
const app = new koa()

app.use(function *(){
  this.body = "Hello World !!!";
});

app.listen(1234)

运行:

node index.js

浏览器访问 http://localhost:1234,会显示 "Hello World !!!"。

routing

安装:

npm install koa-router --save

修改 index.js

'use strict';
const koa = require('koa')
const koaRouter = require('koa-router')

const app = new koa()
const router = new koaRouter()

router.get('koala', '/', (ctx) => {
  ctx.body = "Welcome! To the Koala Book of Everything!"
})

app.use(router.routes())
  .use(router.allowedMethods())

app.listen(1234, () => console.log('running on port 1234'))

运行:

node index.js

浏览器访问 http://localhost:1234,会显示 "Welcome! koa routing!"。

错误处理

修改 index.js 添加错误处理代码:

app.use( async (ctx, next) => {
  try {
    await next()
  } catch(err) {
    console.log(err.status)
    ctx.status = err.status || 500;
    ctx.body = err.message;
  }
})

修改 routing,抛出异常:

router.get('koala', '/', (ctx) => {
  ctx.throw('Test Error Message', 500)
}) 

最终 index.js

'use strict';
const koa = require('koa')
const koaRouter = require('koa-router')

const app = new koa()
const router = new koaRouter()

app.use( async (ctx, next) => {
  try {
    await next()
  } catch(err) {
    console.log(err.status)
    ctx.status = err.status || 500;
    ctx.body = err.message;
  }
})

router.get('koala', '/', (ctx) => {
  // ctx.body = "Welcome! koa routing!"
  ctx.throw('Test Error Message', 500)
})

app.use(router.routes())
  .use(router.allowedMethods())

app.listen(1234, () => console.log('running on port 1234'))

重新运行 index.js,刷新页面,会显示:”Test Error Message“。

相关文章

  • koa 起步

    创建 koa server 当前 koa 版本为 2.6.2 初始化项目: 创建 index.js,内容: 运行:...

  • koa2实践项目-起步

    首先node环境搭建就不再多说了。 用koa-generator koa-generator脚手架可以快速的帮我们...

  • koa2 用到的中间件

    koa-router //koa路由 koa-bodyparser //post 获取值 koa-stat...

  • koa-router处理URL

    koa-router处理URL koa-router使用的结构const Koa = require('koa')...

  • Koa2 初体验

    一、起步 首先创建一个文件夹,然后初始化 package.json : 安装koa2: 在文件目录下新建一个ind...

  • koa 自学入门

    const Koa = require('koa');const route = require('koa-rou...

  • 初见 Koa 2

    koa 和 koa 2 最大的不同是koa 2 支持 async/await。koa 通过结合 generato...

  • trello01:后端搭建

    开发依赖: koa : 后端的主框架。 koa-router:基于Koa的路由。 koa-static-cache...

  • Koa2教程(常用中间件篇)

    目录一、koa-bodyparser二、koa-router三、koa-views + ejs四、koa-stat...

  • koa2设置跨域

    npm install --save koa2-corsvar Koa = require('koa');var ...

网友评论

      本文标题:koa 起步

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