2021-10-26 Express

本文介绍了Express,一个流行的Node.js框架,包括路由定义、Request和Response对象的使用、设置网站根目录、时间处理插件Moment.js以及中间件的详细操作。通过实例展示了如何创建和使用Router,以及中间件的安装和配置。

express是别人封装好的npm包

### 使用 1. 命令行终端中 下载 express ```javascript yarn add express --save // 安装express并添加到依赖项= ``` 2. 引入 ```javascript const express=require('express'); ``` 3. 创建应用对象 ```javascript const app=express() ``` 4. 路由的设置 ```javascript app.get('/',(request,response)=>{ response.end('Hello express') }) ``` 5. 监听端口 启动服务
app.listen(80,()=>{
	console.log('服务已经启动 端口80监听中');
})

路由 Route

实现

app.<method>(path,callback)
method 是指HTTP的请求方法 如 app.get()  app.post()
path 是指要通过回调函数来处理的URL地址
callback  是应该处理该请求并吧响应发回客户端的请求处理程序

实例

const express=require('express);
const app=express();
app.get('/index',(request,response) => {
	console.log('路由index收到get请求');
	response.send('这是是路由返回的信息,/hello 收到了get请求');
})
app.post('/index',(request,response) => {
	console.log('路由index收到post请求');
	response.send('这是是路由返回的信息,/hello 收到了post请求');
})
app.listen(8000, () => {
	 console.log('服务器启动成功,监听8000端口')
})

Request对象

属性/方法描述
request.query获取get请求查询字符串的参数,拿到的是一个对象
request.params获取get请求参数路由的参数,拿到的是一个对象
request.body获取post请求体,拿到的是一个对象(要借助一个中间件)
request.get(xxxx)获取请求头中指定key对应的value

Response对象

属性/方法描述
response.send()给浏览器做出一个响应
response.end()给浏览器做出一个响应(不会自动追加响应头)
response.download()告诉浏览器下载一个文件
response.sendFile()给浏览器发送一个文件
response.redirect()重定向到一个新的地址(url)
response.set(header,value)自定义响应头内容
res.status(code)设置响应状态码

设置响应体之后不能设置响应头

网站根目录

网站根目录放置

  • html文件
  • css文件
  • JS文件
  • 图片
  • 视频
  • 音频
  • 字体

对于内容要频繁变化的资源 设置路有规则响应网页内容

时间处理插件 momentjs.cn

  1. 下载安装moment
yarn add moment 
  1. 引入moment插件
const moment=require('moment');

中间件 middlelware

它可以访问请求对象(request), 响应对象(response), 和 web 应用中处于请求-响应循环流程中的中间件,一般被命名为 next 的变量。

使用步骤

根据参考文档使用即可

  1. 安装
  2. 代码中引入中间件
  3. app.use 或者在路由中进行指定设置
  4. 可选(在回调的函数中使用指定语法操作)
//引入express
var express = require('express')
//创建应用对象
var app = express()
//配置静态资源
app.use(express.static('public'))
//中间件,没有挂载路径,应用的每个请求都会执行该中间件
app.use(function (req, res, next) {
  console.log('这是中间件的响应~~~')
  //如果不调用next方法,下面路由将不起作用
  next()
})
//配置路由
app.get('/index', function (req, res) {
  console.log('路由index收到get请求')
  res.send('这里是路由返回的信息,/hello收到了get请求')
})

app.post('/index', function (req, res) {
  console.log('路由index收到post请求')
  res.send('这里是路由返回的信息,/hello收到了post请求')
})

//启动服务器
app.listen(3000, function () {
  console.log('服务器启动成功,监听3000端口')`在这里插入代码片`
})

Router 路由器

使用步骤
  1. 创建一个routes文件夹
  2. 创建单独的文件 router.js
  3. 修改router.js 中代码(四步)
  4. 在主文件中 引入router.js
  5. app.use设置中间件
//步骤1,2,4,5
const express=require('express')
const app=express();
const router=require('./routes/router.js')

//设置静态页面
app.use(express.static('public'))
app.use(router);
app.use(AdminRouter);//将另一个路由网页命名为AdminRouter

app.listen(80,()=>{
	console.log('服务已启动,端口80正在监听中');
})
// 步骤3
// 修改路由 (此文件路径为./routes/router.js)
// 引入express模块
const express = require('express');
// 创建router对象
var router = express.Router();

router.get('/admin',(request,response)=>{
	response.send('后台页面')
})
router.get('/logout',(request,response)=>{
	response.send('退出登录')
})
// 暴露路由器对象
module.exports = router;
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值