express和nodejs的关系就好像jquery和js的关系
express是第三方模块,需要下载
基本结构代码:
var express = require("express");
var app=express();//执行express返回封装对象
//静态资源处理
app.use(express.static("static"))
//处理前端get请求,req.query包含get请求参数,res.send响应请求
app.get("/getData",function(req,res){
})
//处理前端post请求,req.body包含post请求参数
app.post("/postData",function(req,res){
})
//设置监听端口号,开启服务
app.listen(8080,function(){
console.log("服务已开启")
})
细说app.use
app.use("请求路径(可写可不写)",function(req,res,next){
})
app.use是一个中间件,是对请求路径下数据的预处理,相当于是茶壶的滤网,具有拦截功能,第一个值请求路径不写时,意思是对所有的请求都进行函数里的处理
当请求路径有写时,意思是对任何请求方式的请求都是函数里的处理
其中的next()是个函数,必须执行,才能继续处理下一个请求,不然会一直挂着
express.static("static")是express的内置中间件,它实质就是一个函数
细说app.get()和app.post()
app.get()和post允许传多个回调函数
如下代码
app.get("/getData",function(req,res,next){
req.dxg="wcc";
next();
},function(req,res){
res.send(req.dxg);
})
第一个函数相当于是自己的中间件,必须执行next(),不然不会执行下一个函数,第二个函数就是正常的
post也是如此
细说app.route
app.route("/getData").get(function(req,res){
res.send('hello')
}).post(function(req,res){
})
app.route允许链式语法,如果请求路径相同,但是请求方式不同可以采用这种办法,注意是route不是router,敲黑板,划重点
网友评论