Express基本使用
const express = require('express'); const bodyParser = require('body-parser'); const router = express.Router(); const app = express(); /** * 请求体数据中间件, 将字符串类型的请求参数转化为键值对对象形式 * 例: console.log(req.body.username) > { username: 'admin', userpass: '123456' } */ const useParser = bodyParser.urlencoded({extended:false}); // 处理json形式请求体 const jsonParser = bodyParser.json(); // 静态资源中间件 app.use(express.static('./public')) // 这里public就是前端项目打包后的文件, 会自动寻找这个目录下的index.html // 全局中间件 let testMiddleware = function (req, res, next){ console.log('定义中间件, 在此处处理请求参数跟回执参数'); next() // 向后执行,中间件中必须有执行next() } // 局部中间件 let testMiddleware1 = function (req, res, next){ console.log('定义中间件, 路由中间件,只针对某些或者某个路由'); next() // 向后执行,中间件中必须有执行next() } app.use(testMiddleware) // 全局使用中间件 // 请求路由规则 app.get('/home', (req, res) => { console.log(req.url); console.log(req.method); console.log(req.headers); console.log(req.query); //获取查询字符串 console.log(req.get('host')); //获取指定请求头 res.send('hello express') }) // 获取指定路由参数 app.get('/:id.html', (req, res) => { console.log(req.params); //获取路由参数 res.send('hello express') }) // express响应 app.get('/response', (req, res) => { res.status(500) //响应码 res.set('xxx','xxx') //响应头 res.send('hello express') //响应体 //连贯操作 res.status(404).set('xxx','yyy').send('你好朋友') // 其他响应 res.redirect('http://atguigu.com')//重定向 res.download('./package.json');//下载响应 res.json();//响应 JSON res.sendFile(__dirname + '/home.html') //响应文件内容 }) // 使用路由中间件 app.get('/middleware',testMiddleware1 , (req, res) => { console.log('使用路由中间件') res.send('哈喽 路由中间件') } ) // 路由模块, 一般会将路由单独拆分成分一个或者多个模块文件 router.get('/routers', (req, res) => { res.send('这是一个路由') }) /** * 这里导出了路由实例对象, express实例对象app引用时app.use(router) */ module.exports = router; app.listen(3000, () => { console.log('服务启动中....'); })
【推荐】国内首个AI IDE,深度理解中文开发场景,立即下载体验Trae
【推荐】编程新体验,更懂你的AI,立即体验豆包MarsCode编程助手
【推荐】抖音旗下AI助手豆包,你的智能百科全书,全免费不限次数
【推荐】轻量又高性能的 SSH 工具 IShell:AI 加持,快人一步
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!