美文网首页
node开发框架koa入门

node开发框架koa入门

作者: vsonchen | 来源:发表于2018-05-30 22:19 被阅读0次

前序:

对于node开发,之前一直用的是express,但是上网看了一下之后,发现koa已经在慢慢取代express了,而且开发团队是同一个,所以就在这里用上koa体验一把。

开发前:

这里,我们需要一个版本比较新的node去运行koa,在windows上可以用n,在linux上可以用yarn去管理node版本。
接下来就是安装koa:

npm install koa --save-dev

我们也可以创建一个手脚架

npm install koa-generator -g

生成项目,这里命名为HelloKoa2

koa2 HelloKoa2

进入文件并安装依赖

cd HelloKoa2
npm install

启动

npm run start

自建开发架

首先,我们必须准备es7的编译工具,所以我们需要安装babel-core和babel-preset-stage-0

npm install babel-sore babel-preset-stage-0 --save-dev

接下来我们需要新建一个start.js作为一个入口并提供编译

var register = require('babel-core/register');

register({
    presets:['stage-0']
})

require('./index.js')

接下来我们新建一个index.js作为接口入口

const Koa = require('koa');
const app = new Koa();
app.use(async (ctx,next) = > {
    //这里ctx是接受参数,另外我们可以通过next()来进入下一个处理链
    console.log(ctx);
    await next();
})

app.use(async (ctx,next)=>{
    //通过await进入处理
})

因为接口的调用是以不同路径名去分发,下面我们就需要引入koa-router了

主要步骤:

const koaRouter=require('koa-router')();
app.use(koaRouter.routes());
koaRouter.get('/', async (ctx,next)=>{
    console.log(ctx);
    // ctx.response.body = 'Hello Koa2.0!';
});

总体代码:

// 导入koa,和koa 1.x不同,在koa2中,我们导入的是一个class,因此用大写的Koa表示:
const Koa = require('koa');
// 注意require('koa-router')返回的是函数:
const koaRouter=require('koa-router')();
// 创建一个Koa对象表示web app本身:
const app = new Koa();

app.use(koaRouter.routes());
app.use(async (ctx, next) => {
    await next();
});


// response
koaRouter.get('/app/:name', async (ctx,next)=>{
    console.log(ctx.params.name);
    // ctx.response.body = 'Hello Koa2.0!';
});

app.listen(3000);

这里标注一下,node版本不够高的话ctx会拿不到值,之前用7.2.1版本就太低了

对于post请求,我们需要中间件koa-body来获取参数

const bodyParser=require('koa-body');

app.use(bodyParser());

备注一下,koa1是用koa-bodyparser作为中间件的

相关文章

网友评论

      本文标题:node开发框架koa入门

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