美文网首页
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安装(linux和windows)

    1 Linux下源码安装nodejs centos安装nodejs和npm 2 windows下安装nodejs ...

  • nodejs(下)

    express Express 是一个简洁而灵活的 node.js Web应用框架, 提供了一系列强大特性帮助你创...

  • Mac 下 nodejs 学习

    Mac 下 nodejs 学习 Mac 下 nodejs 学习http://www.jianshu.com/p/a...

  • angular2项目搭建总结(血泪)

    1.安装NodeJs和npm <1>nodejs安装 windows下的NodeJS安装是比较方便的(v0.6.0...

  • Linux下安装ShareWAF

    Linux下安装ShareWAF 1.安装nodejs wget https://nodejs.org/dist/...

  • NodeJs Shell(下)

    学会了脚本的基本知识,学习使用命令行调用系统命令,增强脚本的实际能力。脚本可以通过 child_process 模...

  • NPM安装配置

    在NodeJs安装目录(例如"D:\workspace\nodejs\")下建立"node_global"及"no...

  • 大杂烩

    mac os 下升级 nodejs

  • NodeJS安装

    本文Linux下安装nodejs为例 1. 下载(https://nodejs.org/en/download/)...

  • Linux环境下安装NodeJS和mongoDB

    这篇文章给大家介绍如何下Linux环境下安装NodeJS和mongoDB NodeJS 1、在官网下载Linux环...

网友评论

      本文标题:nodejs(下)

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