nodejs学习针对koa以及express的简单对比学习

nodejs对于前端而言并不陌生,现在闲暇之余,尝试学习一下!针对express与koa对比简单学习,koa是express原班人马开发出来的新框架,在用法上跟express对比学习会比较快,下面定一个简单的需求,用express与koa各搭建一个服务,写出两个接口,一个是post,一个是get,并且实现可跨域哦,而且还要有一个拥有可访问静态资源(新建一个html文件,可访问),需求明确就可以开干了……
1.nodejs环境搭建
2.建一个文件夹,在里面npm init,初始化出一个package.json文件。
接下来进入正题:
express服务搭建
1.npm install express --save
2. npm install body-parser --save (该依赖是用来解析post请求的)

**
var Express = require('express');
var app = new Express();
var bp = require('body-parser');
// static实现静态资源访问
app.use(Express.static(__dirname + '/'));
app.use(bp.json());
app.use(bp.urlencoded({extended: false}));
// 允许跨域请求
app.all('*', (req, res, next) => {
    res.header("Access-Control-Allow-Origin", "*");
    res.header("Access-Control-Allow-Headers", "Content-Type,Content-Length, Authorization, Accept,X-Requested-With");
    res.header("Access-Control-Allow-Methods","PUT,POST,GET,DELETE,OPTIONS");
    res.header("X-Powered-By",'3.2.1')
    if(req.method=="OPTIONS") {
        res.send(200);
    } else {
        next();
    }
});
app.get('/test', (req, res)=>{
    res.send(req.query)
});
app.post('/test', (req, res)=>{
    res.send(req.body);
});
app.listen(3001);
**

nodejs学习针对koa以及express的简单对比学习
代码应该很容易看懂,引入两个依赖,一个是body-parser,一个是express

koa服务搭建

  1. npm install koa --save
  2. npm install koa-router --save
  3. npm install koa-static --save
  4. npm install koa-bodyparser --save
const Koa = require('koa');
const app = new Koa();
const path = require('path');
const static = require('koa-static');
const router = require('koa-router')();
const bodyParser = require('koa-bodyparser');
app.use(bodyParser());
app.use(router.routes());
app.use(router.allowedMethods());

// 设置静态路径
const staticPath = './';
app.use(static(path.join(__dirname, staticPath)));
// 实现跨域
router.all('/test', (ctx, next) => {
    ctx.set('Access-Control-Allow-Origin', '*');
    ctx.set('Access-Control-Allow-Headers', 'Content-Type,Content-Length, Authorization, Accept,X-Requested-With');
    ctx.set('Access-Control-Allow-Methods', 'PUT, POST, GET, DELETE, OPTIONS');
    ctx.set('X-Powered-By', '3.2.1');
    next(); 
});
router.post('/test', (ctx) => {
    console.log(ctx.request.body);
    ctx.body = ctx.request.body;
});
router.get('/test', (ctx) => {
    ctx.body = ctx.request.query;
});

app.listen(3000);

nodejs学习针对koa以及express的简单对比学习
不做过多解释,接下来看一下package.json里面的东西
nodejs学习针对koa以及express的简单对比学习
接下来新建一个html文件去测试
nodejs学习针对koa以及express的简单对比学习
大致的文件就这么多,看者自行测试