express安装
express是基于nodejs平台,快速开发的web框架。
安装指令
新建一个文件夹myapp吗,进入myapp
通过npm init指令生成packgage.json文件
新建一个index.js文件main(入口文件)
当前目录myapp下安装express模块
注:npm install express --save//可用于开发环境
npm install express --saveev//可用于线上开发
express启动
引入express模块
根据express的模块对象生成一个应用对象 var app = express ()
给app应用绑定路由,绑定端口
app.get("/",function(req,res){});//绑定路由
app.listen(3000)//绑定端口
express路由
什么是路由
由url地址和一个请求类型(get,post)来组合,根据组合的数据执行相应的逻辑
express托管静态资源文件
express中有一个express.use("static","/public")
//静态资源:最早的网页都是静态网页,内容不可更新,都是写死的数据
暂时不会改变的都被称为静态资源,比如公用的css文件,js工具类,图片
express总结
express是基于nodejs平台,快速开发的web框架。(web通过浏览器运行的项目都称为web工程)
express特点:
1,生成一系列的功能模块,省去了重复开发时间
2,代码健壮,开发体验友好,使api的开发快速简单
3,express只对未有的功能做了扩展,nodejs原有功能不做改变
express官网
express安装和使用
安装命令:npm install express --save
express的使用
1,引入express模块
var expres= require{“express”}
2,根据express对象生成一个应用对象
var app = express()
绑定路由
app.get("/",function(req,res){res.send("根目录")})
3,绑定端口
app.listen(3000,function(){
console.log("express sever 启动")
})
express框架的路由
路由的介绍
什么是路由?
路由是一个url地址和一个get和post等请求参数组成的节点,在这个节点可以处理相应的业务逻辑
什么是url
url:统一资源定位符()
前后端路由的区别
前端路由:也就是说前端跳转根据前端的业务逻辑来处理
后端路由:根据客户端把数据提交到服务端后,根据服务端(后端)业务处理后进行页面跳转
注:前端路由是在前端的业务逻辑中处理,后端路由在服务器的业务逻辑中处理
静态资源服务器
静态资源文件托管 还是用到了express框架提供的static()方法。把特定的目录(文件夹)托管,以一个别名的形式托管到express服务器中。被托管的文件夹的所有文件,都可以在服务器地址中访问到
body - parser模块的介绍
body-parser模块介绍
body-parser是一个httpq请求解析中间体,使用这个模块可以解析json,raw,文本,url-encoded格式的请求体,express框架中就是使用这个模块作为请求解析中间体。
注:post提交数据,都是通过http中body(消息体)传输数据的。对于post提交请求会用的req.body取值
模块在代码块中的使用和配置
//将body-parser模块引入到文件中
var bodyparser = require("body-parser")
// 设置一个参数,可以解析body体的数据
比如是express框架中的应用。
app = express();
app.use(bodyParser.urlencoded({"extend":false}));
// 配置页面路由 post类型
app.post('/',funciton(req,res){
var info = req.body;
});
body-parser模块安装
npm install body-parser --save
使用req.body解析post提交的请求
两种方式可以解析post请求的请求体中的信息
利用body-parser模块
var bodyparser = require("body-parser")
//在应用对象中设置bodyparser配置信息
app.use(bodyparser.urlencoded({extended:false}))
利用querystring模块
var qs =require("querystring")
//配置路由信息
app.post("/",function(req,res){
var str=""
// 先遍历取到post提交的消息体中的数据
req.on("data",function(d){
str += d;
})
//事件结束后 进行解析
req.on("end",function(){
//将信息体中的数据取出
var info = qs.parse(str)
})
})