一、为什么要用Express框架?
Node.js由于不需要另外的HTTP服务器,因此减少了一层抽象,给性能带了不少的提升,同时也因此提高了开发难度,实现一个POST数据的表单,例如:
<form>
<input type='text' name='title'/>
<input type='submit'/>
</form>
PHP获取POST请求参数:
echo $_POST('title');
request.getParamter('title');
nodejs:
案例:post.js
var http=require('http');
var querystring=require('querystring');
var util=require('util');
http.createServer(function(req,res){var post='';//注册data事件监听函数,每当接受请求体的数据req.on('data',function(chunk){post+=chunk;});req.on('end',function(){//解析成真正的post为真正的post请求格式//相当于Ext.decode()post=querystring.parse(post);//向前端返回res.end(util.inspect(post));});
}).listen(3000);
Node.js虽然提供了http模块,却不是让你直接用这个模块进行Web开发的。http模块仅仅是一个HTTP服务器内核的封装。
二、Express框架
npm提供了大量的第三方模块,其中不乏许多Web框架,我们没有必要重复发明轮子,因而选择使用Express作为开发框架,目前最稳定且唯一一个Web开发框架。
提供更高层的接口外,还实现了许多功能,如下:
路由控制
模版解析支持
动态视图
用户会话
CSRF保护
静态文件服务
错误控制器
访问日志
缓存
插件支持
使用Express重新实现上方例子:
案例:getTitle.js
三、安装Express 关于如何安装这部分可以参考一个美女博文:点击打开链接
如果一个包是某个工程依赖,我们需要使用本地模式安装即可,但是Express像很多框架一样都一共了快速开发工具,这个工具的功能通常建立一个网站最小的基础框架,在此基础上完成开发,当然可以自己建立,推荐使用这个工具,我们选择全局模式安装。
npm install -g express
安装完之后使用express --help
Express在初始化一个项目的时候需要指定模块引擎,模式支持Jade和ejs,为了降低学习难度我们推荐使用ejs。
四、建立工程
express - t ejs pcat
当前目录出现了子目录pcat并且产生一些文件:
pcat
pcat/package.json
pcat/app.js
..........
提示我们进入pcat目录执行 npm install命令
它自动安装了依赖ejs和express,检查目录中的package.json文件内容是:
{
name:'application-name',
version:'0.0.1',
private:true,
dependencies:{
express:'2.5.8',
ejs:">= 0.0.1"
}
}
启动dependencies属性中有express和ejs,无参数的npm install的功能就是检查当前目录下的package.json并自动安装所有指定的依赖。
五、启动服务器
用Express实现的网站实际上就是一个Node.js程序,因此可以直接运行,我们运行的node app.js,看到Express server listening on port 3000 in development mode。打开浏览器访问即可。
如果在修改代码后不想重新启动服务看到效果,则使用supervisor实现监视代码修改和自动重启。