Web Server之再说Express
标签(空格分隔): 前端 前端出发能走多远
博客很久没有更新了,最近一直在忙一个项目,开发、测试、上线。。。乱七八糟的事情。原计划国庆前上线的,由于公司国庆前封版,推迟到节后。不过庆幸的是,节后上线送算是比较顺利。
闲话不多说,直接切入正题,本文描述Node.js的express框架,对它的安装和使用做一个简单的介绍。
关于Express
顾名思义,Express其实就是想表达一个快捷/便捷的意思,实际使用过程中确实如此,它的确是相当的便捷,搭建服务只需一步搞定。
根据官方定义,Express具有一些特点:
Web应用程度:Express 是一种保持最低程度规模的灵活 Node.js Web 应用程序框架,为 Web 和移动应用程序提供一组强大的功能。
API:使用您提议的各种 HTTP 实用程序方法和中间件,快速方便地创建强大的 API。
性能:Express 提供精简的基本 Web 应用程序功能,而不会隐藏您了解和青睐的 Node.js 功能。
LoopBack: 使用基于 Express 的框架来开发模型驱动的应用程序。
可在 loopback.io 了解更多信息。
简单程序简单介绍
根据官方教程,执行以下bash命令,即可搭建一个一个简单的express环境
# 创建文件夹
mkdir myapp
cd myapp
# 项目初始化
npm init
# 引入exress,并将引用保存至package.json
npm install express --save
上述涉及npm命令,请不清楚的同学查询NPM命令的使用
通过上述初始化,假定项目默认的入口文件(entry point)为index.js,我们在index.js中加入如下代码:
var express = require('express');
var app = express();
app.get("/", function(req, res){
res.end("Hello World!");
});
app.listen(8080, function(){
console.info("System has start on port 8080.");
});
通过以上代码即可启动一个web server,访问http://localhost:8080/即可看到Hello World!
接下来
一个框架有它强大的生命力,跟它的开放性是分不开的,而开放性的一个重要特点是可扩展。所谓可扩展,是指在框架的基础之上,可以自定义一系列自定义处理逻辑。笔者认为,对于一个框架而言,越便利的可扩展性,导致越活跃的社区,越活力的社区也就有了越广泛的用户群。下面说说Express的开放性。
笔者认为,Express的开放性的核心是中间件,可以把Express看做一个网络处理平台,中间件是其中一个个处理小单元,每个小单元都能对网络请求做一系列处理,并根据处理结果决定是否将处理权传递给下一个中间件。学过java的人可能会马上想到拦截器,对没错,它的原理跟拦截器相似。类似流程图如下:
后续我们会简介Express常用的中间件。
参考文献
- Express官网中文版: http://expressjs.com/zh-cn/