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);
**

在这里插入图片描述
代码应该很容易看懂,引入两个依赖,一个是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);

在这里插入图片描述
不做过多解释,接下来看一下package.json里面的东西
在这里插入图片描述
接下来新建一个html文件去测试
在这里插入图片描述
大致的文件就这么多,看者自行测试

分类:

技术点:

相关文章:

猜你喜欢