node框架

expresshtml

 

npm i express -Sexpress

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代碼用<% %>包住npm

表達式用<%= %>json

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值
相關文章
相關標籤/搜索