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}
网友评论