本篇文章主要介绍了"Express、Koa、Hapi框架对比",主要涉及到方面的内容,对于Javascriptjrs看球网直播吧_低调看直播体育app软件下载_低调看体育直播感兴趣的同学可以参考一下:
中文翻译:http://ourjs.com/detail/5490db1c8a34fa320400000e英文原文:https://www.airpair.co...
所有开发者要开发Node.js web应用程序的第一步就是构建一个基本的服务器。所以我们来看看用这几个框架构建一个服务器的时候有什么异同。
3.1 Express
var express = require('express');
var app = express();
var server = app.listen(3000, function() {
console.log('Express is listening to http://localhost:3000');
});
对于所有的node开发者来说,这看起来相当的自然。我们把express require进来,然后初始化一个实例并且赋值给一个为app
的变量。接下来这个实例初始化一个server
监听特定的端口,3000端口。app.listen()
函数实际上包装了node原生的http.createServer()
函数。
3.2 Koa
var koa = require('koa');
var app = koa();
var server = app.listen(3000, function() {
console.log('Koa is listening to http://localhost:3000');
});
你马上发现Koa和Express是很相似的。其实差别只是你把require那部分换成koa而不是express而已。app.listen()
也是和Express一模一样的对原生代码的封装函数。
3.3 Hapi
var Hapi = require('hapi');
var server = new Hapi.Server(3000);
server.start(function() {
console.log('Hapi is listening to http://localhost:3000');
});
Hapi是三者中最独特的一个。和其他两者一样,hapi被require进来了但是没有初始化一个hapi app
而是构建了一个server
并且指定了端口。在Express和Koa中我们得到的是一个回调函数而在hapi中我们得到的是一个新的server
对象。一旦我们调用了server.start()
我们就开启了端口为3000的服务器,并且返回一个回调函数。这个server.start()
函数和Koa、Express不一样,它并不是一个http.CreateServer()
的包装函数,它的逻辑是由自己构建的。
4 路由控制
现在一起来搞搞一下服务器最重要的特定之一,路由控制。我们先用每个框架分别构建一个老掉渣的“Hello world”应用程序,然后我们再探索一下一些更有用的东东,REST API。
4.1 Hello world