作用:
express是nodejs的Web应用框架,可以快速搭建完整功能的网站,提供了各种web应用和HTTP工具。
三个特性:
1,设置中间件来响应HTTP请求。
2,定义路由执行不同的HTTP请求动作。
3,向模板传递参数动态渲染HTML
安装:
npm install express --save
需要同时安装的其他模块
npm install body-parser --save //处理json raw text url编码的数据
npm install cookie-parser --save // 解析cookie 通过request.cookies获取传来的cookie
npm install multer --save //中间件,处理enctype = "multipart/form-data"的表单数据
使用:
在js文件中引入:var express = require('express');
var app = express();
请求和响应:
app.get('/', function(request, response) { }) //参数是request和response对象,分别处理请求和响应。
常用的request对象属性:(以下用req来代替)
req.baseUrl: 获取路由当前安装的URL路径。
req.path:请求路径。
req.protocol:请求协议类型。
req.hostname / req.ip: 主机名和IP地址。
req.query:URL的查询参数串。
req.route:当前路由
req.body / req.cookies 获取请求主体或者cookies。
req.get():获取指定的HTTP请求头。
req.params: 路由的parameters。
req.is():判断请求头content-type的MIME类型。
常用的response对象属性:(以下用res代替)
res.cookie(name, value [, option]):设置cookie。
res.clearCookie():清除cookie。
res.download():传送指定路径的文件。
res.get():获取指定的http头。
res.json() / res.jsonp():传送json响应,传送jsonp响应。
res.render(view, [locals], callback):渲染一个view。。。。。
res.send():传送HTTP响应。
res.sendFile(path, [options, fn]):传送指定路径的文件,自动根据文件extension设定content-type。
路由:
路由决定了由谁去响应客户端请求,通过路由提取请求的URL以及GET/POST请求。
app.get('/user_list', function(req, res) {
res.send('用户列表页面')
})
app.get('/del_list', function(req, res) {
res.send('删除列表页面')
})
var server = app.listen(8083, function(){
console.log(' ')
})
通过访问localhost:8083/user_list 和 localhost:8083/del_list 可以得到不同的结果express方法:
var express = require('express');
express.json([options]) //依赖于body-parser
express.urlencoded([options]) //依赖于body-parser
application:
1,路由HTTP请求,例如app.METHOD app.param
2,配置中间件 , 例如app.route
3,渲染HTML试图, 例如app.render
4,注册 template engine ,例如app.engine
方法:
app.set(name, value) 设置某个属性的值
app.get(name) 获取application的某个属性
app.get(path, callback,[calback]) get请求
app.listen(port,[hostname], [backlog], [callback])
app.METHOD()
app.param([name], callback)
app.use([path], callback, [callback]) 加载中间件方法