美文网首页
nodejs(下)

nodejs(下)

作者: bo_bo_bo_la | 来源:发表于2018-01-24 22:23 被阅读10次

    express

    Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创建各种 Web 应用,和丰富的 HTTP 工具。
    使用 Express 可以快速地搭建一个完整功能的网站

    var express = require(“express”);
    var app = express();//初始化
    

    get方法 -- 根据请求路径来处理客户端发出的GET请求

    app.get(path,cb);

    • path: 为请求的路径

    • cb: 第二个参数为处理函数的回调,有两个参数request和response,代表请求信息和相应信息

    var express = require("express");
    var app = express();
    app.get("/",function (req,res) {
        //send 里面只能是字符串 不能是数字
        res.send("111111");
    });
    app.listen(6777);
    

    获取请求的数据

    • req.host: 返回请求头里取主机名(不含端口号)

    • req.path:返回请求的URL路径名

    • req.query:是一个可获取客户端GET请求路径参数的对象属性,包含着呗解析过的请求参数对象,默认为{}

    • req.params:获取路由的parameters

    返回参数

    • res.send():返回数据,默认会转为字符串,编码为utf-8

    • res.sendFile():返回文件

    • res.sendStatus();返回状态码

    中间件

    中间件就是处理HTTP请求的函数,用来完成各种特定的任务,比如检测用户是否登录,分析数据,以及其他在需要最终将数据发送给用户之前完成的任务

    • 每个中间件都可以控制流程是否继续执行

    • 每个req,res都是用同一个对象

    • 如果出错了,转交错误中间件进行处理

    • 一个中间件处理完,可以把相应数据再传递给下一个中间件

    • 如果调用会地哦啊函数的next参数表示请求数据传递给下一个中间件

    var express = require("express");
    var app = express();
    
    //中间件
    app.use(function (req,res,next) {
        //省政府
        req.money = 100;
        next();
    })
    app.use(function (req,res,next) {
        //市政府
        req.money -= 20;
        next();
    })
    
    app.use(function (req,res,next) {
        //区政府
        req.money -= 20;
        next("钱丢了");
    })
    
    //错误处理中间件
    app.use(function (err,req,res,next) {
        if(err){
            console.log(err);
        }
    })
    
    app.all("/",function (req,res) {
        //send里面只能是字符串 不能是数字
        res.send(""+req.money);
        // console.log(req.money);
    })
    app.listen(8887);
    

    cookie

    下载 express/cookie-parser

    var express = require("express");
    var cookieParser = require("cookie-parser");
    

    expires: cookie的国旗事件,GMT格式,如果没有指定或者设置0,则产生新的Cookie

    maxAge:是设置过去事件的方便选项,值为过期时间到当前时间的毫秒数

    var express = require("express");
    var cookieParser = require("cookie-parser");
    var app = express();
    app.use(cookieParser());
    
    //设置Cookie
    app.get("/setcookie",function (req,res) {
        var nowtime = new Date();
        nowtime.setDate(nowtime.getDate()+7);
        // 'username' 设置Cookie的名称,"DR" Cookie的内容
        res.cookie("username","DR",{expires:nowtime});
        res.send("设置Cookie");
    })
    app.get("/getcookie",function (req,res) {
        var username = req.cookies.username;
        res.send(`取到的Cookie内容是${username}`);
    })
    app.listen(6767);
    

    session

    var express = require("express");
    var session = require("express-session");
    var app = express();
    app.use(session({
        secret:"mysecret",
        saveUninitialized:true,
        resave:false
    }))
    app.get("/sersession",function (req,res) {
        req.session.usern = "RR";
        res.send("session设置成功");
    })
    app.get("/getsession",function (req,res) {
        var usern = req.session.usern;
        console.log(usern);
        res.send("Session内容是:"+usern);
    })
    app.listen(5656);
    

    模板

    var express = require("express");
    var app = express();
    app.set("view engine","jade");
    app.set("ciews",__dirname);
    app.get("/",function (req,res) {
        var arr = [{name:"DR",age:18},{name:"RR",age:18}];
        res.render("test.jade",{
            arr
        })
    })
    app.listen(6767);
    
    doctype html
    html
        head
            title test
            meta(charset='utf-8')
        body
            ul
                -each val in arr
                    li name:#{val.name},age:#{val.age}
    

    相关文章

      网友评论

          本文标题:nodejs(下)

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