node框架
express
npm i express -S
let express =require('express'); let app=express(); app.get(路径,function(req,res){ express框架新增的方法 res.send(任意类型) res.sendFile()//(文件绝对路径) 或 (相对路径,{root:__dirname}) res.json(json类型) res.sendStatus(404)状态码为404,并且停止响应 res.status(404)状态码设置为404 res.header(设置返回头) res.render() req.path 端口后 问号前 req.query对象类型 }) app.post() app.put() app.delete() app.listen(8080,function(){})
中间件
app.use(function(req,res,next){ 浏览器请求先经过该函数在到达服务器 中间件的代码位置应该在服务器返回处理之上 调用next()才会继续往下走 // next(如参数不为空)则走err中间件 }) app.use(function(err,req,res,next){ })
1)session中间件
npm i express-session -S
let session=require('express-session') app.use(session({ resave:true,//每次访问都重新保存session saveUninitialized:true,//保存未初始化的session secret:'1'//密钥 })) 设置req.session.key=value 获取req.session.key
2)请求体中间件
npm i body-parser -S
let bodyParser=require('body-parser') app.use(bodyParser.urlencoded({extended:true}))true则采用qs,false采用queryString app.use(bodyParser.json()) req.body返回请求体的json格式
路由
路由表文件:
let router=express.Router();
配置子路径
router.get(子路径,function(req,res){
})
...
module.exports=router
主文件:
let A=require(路由表文件)
app.use(主路径,A)
静态资源的访问
app.use(可选子路径,express.static(path.resolve(资源文件根目录名)))
访问资源文件下的文件 返回文件内容
ejs模板文件
npm i ejs -S
app.set('view engine','ejs')//设置模板引擎
app.set('views',path.resolve('目录名'))//设置模板文件路径
如模板引擎设置为html则需设置app.engine('html',require('ejs').__express)
res.render('./文件名',{title:'首页',users:[{id:1,name:'zzz'}]})
地址会自动加上设置好的路径和后缀
模板文件demo
<ul> <% for(let i=0;i<users.length;i++){ let user=users[i]; %> <li><%= user.name %></li> <% } %> </ul> <%-msg%>
js代码用<% %>包住
表达式用<%= %>
html标签用<%- 变量名%>
cookie
服务器返回cookie:
express框架新增res方法
res.cookie(key,value,{
domain:,
path:,
maxAge:毫秒,
expires:,
httpOnly:boolean
})服务器返回cookie
原生方法
res.setHeader('Set-Cookie','key=value')
服务器清除cookie
res.clearCookie(key值)
浏览器访问指定的域名和路径时会自动带上cookie
原生方法:
req.headers.cookie
express框架:
let cookieParser=require('cookie-parser')
指定中间件:app.use(cookieParser())
req.cookies.key值