一、为什么要用Express框架?
Node.js由于不需要另外的HTTP服务器,因此减少了一层抽象,给性能带了不少的提升,同时也因此提高了开发难度,实现一个POST数据的表单,例如:
<form>
<input type=‘text‘ name=‘title‘/>
<input type=‘submit‘/>
</form>
PHP获取POST请求参数:echo $_POST(‘title‘);
Java:request.getParameter("title");
nodejs:
实例:post.js--见第十课
Node.js虽然提供了http模块,却不是让你直接用这个模块进行Web开发的。http模块仅仅是一个HTTP服务器内核的封装。
二、Express框架
npm提供了大量的第三方模块,其中不乏许多Web框架,我们没有必要重复发明轮子,因而选择使用Express作为开发框架,
目前最稳定且唯一一个Web开发框架。
提供更高层的接口外,还实现了许多功能,如下:
路由控制
模版解析支持
动态视图
用户会话
CSRF保护
静态文件服务
错误控制器
访问日志
缓存
插件支持
使用Express重新实现上方例子:
案例:getTitle.js
var express=require(‘express‘);
var app=express();
app.use(express.bodyParser);
app.all(‘/‘,function(req,res){
res.send(req.body.title);
});
app.listen(3000);
三、安装Express
如果一个包是某个工程依赖,我们需要使用本地模式安装即可,但是Express像很多框架一样提供了快速开发工具,这个工具的功能
通常是建立一个网站最小的基础框架,在此基础上完成开发,当然可以自己建立,推荐使用这个工具,我们选择全局模式安装。
npm install -g express
安装完之后使用express --help
Express在初始化一个项目的时候需要指定模块引擎,模式支持Jade和ejs,为了降低学习难度我们推荐使用ejs(因为它符合html标准)。
四、建立工程
express ejs test //ejs模式
express test //jade模式
当前目录出现了子目录pcat并且产生一些文件:
test
test/package.json
test/app.js
......
查看package.json中的dependencies属性中有express和ejs或者express和jade,
无参数的npm install的功能就是检查当前目录下的package.json并自动安装所有指定的依赖。
五、启动服务器
用Express实现的网站实际上就是一个Node.js程序,因此可以直接运行,我们运行的node app.js,
看到Express server listening on port 3000 in development mode。打开浏览器访问即可。
如果在修改代码后不想重新启动服务看到效果,则使用supervisor实现监视代码修改和自动重启。
node.js第十二课(Express框架及入门介绍),古老的榕树,5-wow.com