Node.js之Express框架
简介:
- 可以设置中间件来响应HTTP请求
- 定义了一个路由表用于执行不同的HTTP请求
- 通过向模板传入参数动态进行渲染HTML界面
安装 npm install express --save
- body-parser - node.js 中间件,用于处理JSON, Raw, Text和URL编码的数据。
- cookie-parser 这就是一个解析Cookie的工具。通过req.cookies可以取到传过来的cookie,并把它们转成对象。
- multer 用于处理enctype=“multipart/form-data”(设置表单的MIME编码)的表单数据。
$ npm install body-parser --save
$ npm install cookie-parser --save
$ npm install multer --save
实例: express框架实例
//Myexpress.js
var express=require('express');
var app=express();
app.get("/",function(req,res){
res.send('hello word');
})
var server=app.listen(6666,function(){
var host=server.address().address
var port=server.address().port
})
运行以上代码:控制台输出主机地址等,客户端浏览器输出 hello word
请求和响应:
function(req,res)
{
//request,response处理请求和响应的数据
}
Request对象 request表示HTTP请求,包含了查询字符串,参数,内容,HTTP头部等属性。
- req.app:当callback为外部文件时,用req.app访问express的实例
- req.baseUrl:获取路由当前安装的URL路径
- req.body / req.cookies:获得「请求主体」/ Cookies
- req.fresh / req.stale:判断请求是否还「新鲜」
- req.hostname / req.ip:获取主机名和IP地址
- req.originalUrl:获取原始请求URL
- req.params:获取路由的parameters
- req.path:获取请求路径
- req.protocol:获取协议类型
- req.query:获取URL的查询参数串
- req.route:获取当前匹配的路由
- req.subdomains:获取子域名
- req.accpets():检查请求的Accept头的请求类型
- req.acceptsCharsets / req.acceptsEncodings / req.acceptsLanguages
- req.get():获取指定的HTTP请求头
- req.is():判断请求头Content-Type的MIME类型
Response 对象 - response对象表示HTTP响应,即在接收到请求时向客户端发送的HTTP响应数据。常见属性有:
-
res.app:同req.app一样
-
res.append():追加指定HTTP头
-
res.set()在res.append()后将重置之前设置的头
-
res.cookie(name,value [,option]):设置Cookie
-
opition: domain / expires / httpOnly / maxAge / path / secure / signed
-
res.clearCookie():清除Cookie
-
res.download():传送指定路径的文件
-
res.get():返回指定的HTTP头
-
res.json():传送JSON响应
-
res.jsonp():传送JSONP响应
-
res.location():只设置响应的Location HTTP头,不设置状态码或者close response
-
res.redirect():设置响应的Location HTTP头,并且设置状态码302
res.send():传送HTTP响应 -
res.sendFile(path [,options] [,fn]):传送指定路径的文件 -会自动根据文件extension设定Content-Type
-
res.set():设置HTTP头,传入object可以一次设置多个头
-
res.status():设置HTTP状态码
-
res.type():设置Content-Type的MIME类型
路由
通过路由提取URL 以及GET和POST参数
var express=require('express');
var app=express();
app.get('/',function(req,res){
console.log("主页get请求");
res.send("hello");
})
//post请求
var post('/',function(req,res){
res.send("hello post")
})
//对页面abcd ab12cd abbcd等响应
app.get('/ab*cd',function(req,res){
console.log('匹配以上各个界面')
})
//监听端口
var server=app.listen(8081,function(){
console.log('start to listen');
})
上一篇: 详解CocosCreator消息分发机制
下一篇: python实现双人版坦克大战游戏
推荐阅读
-
Laravel框架使用技巧之使用url()全局函数返回前一个页面的地址方法详解
-
从零开始搭建前后端分离的NetCore2.2(EF Core CodeFirst+Autofac)+Vue的项目框架之十数据库基础方法的封装
-
python web自制框架之接受url传递过来的参数实例
-
从零学习node.js之模块规范(一)
-
零基础写python爬虫之使用Scrapy框架编写爬虫
-
零基础写python爬虫之爬虫框架Scrapy安装配置
-
laravel框架之自帶登錄&註冊
-
Winform开发框架之通用高级查询模块
-
ABP开发框架前后端开发系列---(8)ABP框架之Winform界面的开发过程
-
Node.js之网络通讯模块实现浅析