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('服务启动中....');
})
复制代码

 

posted @   不知码  阅读(24)  评论(0编辑  收藏  举报
(评论功能已被禁用)
相关博文:
阅读排行:
· 25岁的心里话
· 闲置电脑爆改个人服务器(超详细) #公网映射 #Vmware虚拟网络编辑器
· 基于 Docker 搭建 FRP 内网穿透开源项目(很简单哒)
· 零经验选手,Compose 一天开发一款小游戏!
· 一起来玩mcp_server_sqlite,让AI帮你做增删改查!!
点击右上角即可分享
微信分享提示