本次讲解express框架的使用
express的下载
npm install express --save
express的使用
//引入express模块
const express = require("express")
//将express函数赋值给变量,便于调用
const app = express()
//这里相当于就是做了一个路径为/的接口,只能通过前端get请求才能够响应
//利用express的写法写的
app.get("/", (req, resp) => {
//send函数非常强大,可以自动检测是否为html代码,如果是会自动解析
//相当于整合了http模块的write()函数和end()函数以及自动检测Content-Type
resp.send("你好,我是express")
})
app.get("/test", (req, resp) => {
//这里输出的就是加粗的一段文本
resp.send("<b>你好,我是express</b>")
})
//利用原来的http模块写法写的
app.get("/test2", (req, resp) => {
//send函数非常强大,可以自动检测是否为html代码,如果是会自动解析
//相当于整合了http模块的write()函数和end()函数以及自动检测Content-Type
resp.writeHead(200, {"Content-Type": "text/html;charset=utf8"})
resp.write("你好,我是express")
resp.end()
})
//设置express服务器的端口
app.listen(3000, () => {
//回调函数,这里和http模块服务器一样
console.log("服务器启动")
})
express的接口特殊写法
const express = require("express")
const app = express()
// /xxx/:id 是匹配 /xxx/任意字符
app.get("/threebody/:id", (req, resp) => {
//这种写法常用于网页中的视频编号或者文章编号等,用来区别文章或视频进行渲染的
//这种写法多用于前后端不分离,若是前后端分离,这一写法就不必要了
//具体可以了解学习Vue的路由相关方面知识,这里就不多做概述了。
//如 /threebody/1 /threebody/2 都符合这一匹配
resp.send("自然选择,前进四!!" + req.params.id)
})
app.listen(3000)
express中间件
先创建一个index.js
const express = require("express")
const app = express()
//创建路由
const router = require("./login")
//给路由挂载接口
//应用级别
app.use((req, resp, next) => {
console.log("验证token")
next()
})
//应用级别
app.use("/", router)
//错误中间件
app.use((req,res)=>{
//查看res响应状态是否为404,若是发送页面找不到
res.status(404).send("页面找不到")
})
app.listen(3000)
创建Login.js,用于存放路由中间件绑定的接口
const express = require("express")
const router = express.Router()
//路由级别
router.get("/home", (req, resp) => {
resp.send("home")
})
router.get("/login", (req, resp) => {
resp.send("login")
})
//将router暴露出去
module.exports=router
注意:使用路由中间件的好处在于,一个模块一个文件,避免了大量代码堆叠在一起,以后只要是一个功能要用到的代码,只要将这个功能提取出一个单独文件,然后暴露router,最后在主服务器引入暴露的router注册中间件就好,可维护性也比之前强。
获取请求参数
get请求参数获取
req.query
post请求参数获取
//给路由挂载接口
//配置解析post参数的,不用下载第三方,使用内置的url解析
//post参数: username=test&password=123456
app.use(express.urlencoded({extended:false}))
//设置express为json格式返回
app.use(express.json())
req.body
利用express托管静态文件
将静态文件所在的目录作为参数传递给express.static中间件就可以提供静态资源文件的访问了
例如:假设在public目录放置了图片,css和Javascript文件,你就可以:
app.use(express.static("静态资源目录路径"))
//如
app.use(express.static("./public"))
现在,public目录下面的文件就可以访问了。
http://localhost:3000/js/app.js
http://localhost:3000/image/test.png
如果静态目录存放在多个目录下,可以多次设置static静态资源
app.use(express.static("./public"))
app.use(express.static("./files"))
express生成器
下载express生成器
npm install -g express-generator
使用生成器创建express项目
express 项目名
#如:
express myApp --view=ejs
创建完成后进入项目目录并开始下载所需依赖
cd myApp
#自动下载所有需要的依赖
npm i
#下载完毕后开始运行项目
npm start
#访问网址
localhost:3000
以上就是express框架相关的内容,欢迎各位评论教导,如果觉得文章还不错或者有什么地方不懂的,欢迎留言提问点赞🧡🤞🤞🤞🧡