美文网首页
express--基于nodejs的web开发框架

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

作者: 刘宏儿 | 来源:发表于2019-01-24 16:02 被阅读0次

    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开发框架

          本文链接:https://www.haomeiwen.com/subject/udacjqtx.html