一、路由中的两个参数
request
request.query 获取查询字符串的参数,拿到一个对象
request.params 获取参数的路由参数
request.body 获取post请求,(要借助中间件) ap.use(express.urlencoded({extended:true}))
request.get(xxx) 获取请求头中指定key对应的value
response
response.send() 给浏览器作出一个响应
response.end() 给浏览器做出一个响应(不会自动追加响应头,容易乱码)
response.download() 告诉浏览器下载一个文件。(绝对路径)
response.sendFile() 给浏览器发送一个文件。(绝对路径)
response.redirect() 重定向到一个新的地址(URL)
response.set(header,value) 自定义响应头内容
response.get() 获取响应头指定key对应的value
response.status(code) 设置响应状态码(不建议使用)
二、当把路由从server.js抽离出来时
1⃣️.引入路由器
let {Router} = require(‘express’)
2⃣️.实例化路由器
let router = new Router()
3⃣️.引入path模块,path模块是node的核心模块,无需引入,直接使用 (但是尽量有)
let {resplve} = require(‘path’)
举个🌰:
登陆页面:
router.get(’./login’,(req,res)=>{
let filePath = resolve(__dirname,’…/public/login.html’)
res.sendFile(filePath)
})
module.exports = router
3.1在server.js中引入(UI路由)
let uiRouter = require(’./router/uiRouter’)
3.2使用ui路由中间件
app.use(uiRouter)
三、ejs模版
1⃣️.安装ejs
yarn add ejs
2⃣️.设置模版引擎
app.set(‘view engine’,‘ejs’)
3⃣️.设置所在目录
app.set(‘views’,’./views’)
4⃣️.使用渲染页面
response.render(‘demo’)
四、ejs常用的三种语法
1⃣️:<% xxxxx %> xxx可以替换为任意的js代码,不会输出任何内容给浏览器
2⃣️:<% -xxxx %> xxx可以替换为任意的js变量,渲染标签
3⃣️:<%= xxxx %> xxx 可以替换为任意的js变量,不渲染标签
五、express的使用
1⃣️.引入express
let express = require(‘express’)
2⃣️.创建app服务对象
let app = express()
3⃣️.隐藏服务器的具体实现
app.disable(‘x-powered-by’)
4⃣️.设置路由
app.get(’./’,(request,response)=>{response.send(’…’)})
5⃣️.设置监听
app.listen(‘3000’,(err)=>{
if(!err) console.log(‘成功’)
else{console.log(err)}
})