express--基于nodejs的web开发框架

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,敲黑板,划重点

你可能感兴趣的:(express--基于nodejs的web开发框架)