Express使用指南

本文详细介绍了基于Node.js的Express框架,包括安装配置、路由和中间件的使用,以及request和response对象的操作。中间件功能强大,可以执行代码、处理请求和响应,通过next()传递控制权。路由和中间件的组合提供了灵活的HTTP请求处理方式,同时讲解了应用层、路由级和错误处理中间件的使用。此外,还涉及了Express内置和第三方中间件的集成。request和response对象提供了访问请求数据和构建响应的方法,使得Express能够方便地处理HTTP请求。
摘要由CSDN通过智能技术生成

Express

基于 Node.js 平台,一个快速、开放、极简的 Web 开发框架
Express提供了一个轻量级模块,把node.js的http功能封装在一个简单易用的接口中。Express也扩展了http模块的功能,能轻松处理路由、响应、cookie和HTTP请求的状态

(一) 安装和配置

全局安装

npm install -g express

查看版本

express --version

使用Express生成器创建一个Express项目
全局安装 express-generator

npm install -g express-generator

创建项目 myapp

express myapp

安装依赖

cd myapp
npm install

启动项目

npm start

通过 express-generator 创建的项目一般都有如下目录结构
在这里插入图片描述

bin/www文件中是通过

var server = http.createServer(app);
server.listen(port);

创建服务器并监听指定端口, 然后在 app.js 中对访问此端口的请求进行处理
在入口文件 app.js 中, 主要做了以下工作:

  1. 导入相关模块(包含第三方模块和自定义模块, 以及express模块), 例如:
var createError = require('http-errors'); // 错误处理模块
var express = require('express');
var path = require('path'); // 路径处理模块
var cookieParser = require('cookie-parser'); // cookie解析
var logger = require('morgan'); // 日志打印
  1. 创建express实例
var app = express()
  1. 使用app.set 设置express内部的一些参数, 例如:
// 设置模板引擎
app.set('view engine', 'html');
app.set('views', path.resolve(__dirname, 'views'));
  1. 使用app.use 注册中间件函数, 例如:
// 注册中间件
app.use(logger('tiny')); // 设置日志打印格式
app.use(express.json()); // 对请求进行json解析
app.use(express.urlencoded({
    extended: false })); // 对请求的URL进行解析
app.use(cookieParser()); // cookie解析
app.use(express.static(path.join(__dirname, 'public'))); // 设置静态资源的路径
(二) 路由和中间件

Express是一个路由和中间件Web框架,其自身的功能很少:Express应用程序本质上是一系列中间件函数调用
中间件具有以下功能:

  1. 执行任何代码
  2. 更改请求和响应对象
  3. 结束请求-响应周期
  4. 调用中间件堆栈中的下一个中间件函数
    如果在一个中间件函数中没有结束请求-响应周期, 那么应该使用next() 将该请求的控制权传递给下一个中间件函数, 否则该请求就会被挂起

在express中, 主要有以下类型的中间件:

  • 应用层中间件
  • 路由级中间件
  • 错误处理中间件
  • 内置中间件
  • 第三方中间件
  1. 应用层中间件
var app = express()

app.use()
app.get()
app.post()


app.use(function (req, res, next) {
   
  console.log('每个请求都会执行')
  next()
})

上面的中间件函数没有一个匹配的路径, 所以它在每次应用收到请求时都会执行


                
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值