Express是一个简洁、灵活的node.js,Web应用开发框架 它是一个函数,调用可以得到app应用
express的强大之处:
路由控制:
什么叫路由?
根据请求的不同路径做不同的处理
get:
post:注意在浏览器运行的时候使用Postman配置
*:匹配所有路径
以上注意:当写入的响应体为汉字时,记得设置响应头
res.setHeader('Content-Type','text/html:charset=utf-8');
中间件:
中间件的特点:
1.修改后的请求和响应可以继续往下传递
2.用来进行公用设置和添加公用方法的
3.每个中间件都有权利选择继续或终止执行
4.一个中间件处理完可以把相应的数据传递给下一个中间件
模板解析:
第一步:指定模板引擎
app.set('view engine','ejs')
第二步:设置模板的存放目录
第三步:模板渲染(render)
渲染模板使用中间件app.use:找到正确模板,读取模板内容,替换模板内容
ejs文件的注意:
模板匹配时:
=:表示变量转换以后输出
-:表示变量渲染成真实HTML内容
静态文件服务
express.static是express内置的唯一一个中间件,负责托管express应用内的静态文件
把静态文件统一放到一个静态文件夹下面,到时候直接访问这个文件夹就可以了
原理
params:
var host=req.headers.host; //host信息
req.pathname=host.split(':')[0]; //主机名
req.port=host.split(':')[1]||80; //端口号
var urlObj=url.parse(req.url,true); //获取路径,并转化成对象
var path=urlObj.pathname; //获取路径
req.query=urlObj.query; //获取查询字符串
send方法:
send与end的区别?
end只能写入字符串和buffer
send可以写入任何格式,切记数字的,要用字符串
文件夹的写入:sendFile
redirect的写入:redirect(重定向)
数字的写入:sendStatus
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。