Express基础入门
1. Express框架概述
Express是一个基于Node.js平台的Web应用开发框架,它提供了一系列强大特性帮助你创建各种Web和移动设备应用。Express的特点包括:
- 简洁而灵活的路由系统
- 高效的中间件机制
- 丰富的HTTP工具
- 模板引擎支持
- 易于集成数据库
Express被称为"Node.js的瑞士军刀",是Node.js生态系统中最流行的Web框架之一。
2. 安装与配置
2.1 前提条件
在开始使用Express之前,确保你已经安装了:
- Node.js(推荐LTS版本)
- npm(Node.js包管理器)
2.2 安装Express
首先创建一个新的项目目录,然后初始化npm:
mkdir my-express-app
cd my-express-app
npm init -y
然后安装Express:
npm install express --save
2.3 创建第一个Express应用
创建一个名为app.js的文件,添加以下代码:
const express = require('express')
const app = express()
const port = 3000
app.get('/', (req, res) => {
res.send('Hello World!')
})
app.listen(port, () => {
console.log(`Example app listening at http://localhost:${port}`)
})
运行应用:
node app.js
打开浏览器访问 http://localhost:3000,你将看到 "Hello World!" 消息。
3. 基本概念
3.1 应用程序对象
app 对象是Express的实例,它是整个应用的核心:
const app = express()
应用程序对象负责:
- 定义路由
- 配置中间件
- 设置视图引擎
- 启动HTTP服务器
3.2 路由
路由决定了应用程序如何响应客户端对特定端点的请求,包含一个URL路径和一个HTTP方法。
基本路由格式:
app.METHOD(PATH, HANDLER)
其中:
app是Express实例METHOD是HTTP请求方法(get, post, put, delete等)PATH是服务器上的路径HANDLER是当路由匹配时执行的函数
3.3 请求和响应对象
路由处理函数接收两个主要对象:
req(请求对象):包含客户端请求的信息res(响应对象):用于向客户端发送响应
常用的请求对象属性:
req.params:URL参数req.query:查询字符串参数req.body:请求体数据req.headers:请求头
常用的响应对象方法:
res.send():发送响应res.json():发送JSON响应res.status():设置HTTP状态码res.render():渲染视图模板
4. 静态文件服务
Express提供了内置的中间件来提供静态文件,如图片、CSS文件和JavaScript文件:
app.use(express.static('public'))
这会使public目录中的文件可以通过URL直接访问。例如,如果public目录中有一个images子目录,其中包含一个logo.png文件,那么可以通过http://localhost:3000/images/logo.png访问该文件。
5. 基本中间件使用
中间件函数可以访问请求对象、响应对象和应用程序的请求-响应周期中的下一个中间件函数。
5.1 应用级中间件
绑定到应用程序实例的中间件:
app.use((req, res, next) => {
console.log('Time:', Date.now())
next()
})
5.2 路由级中间件
绑定到路由实例的中间件:
const router = express.Router()
router.use((req, res, next) => {
console.log('Time:', Date.now())
next()
})
6. 练习项目
创建一个简单的Express应用,包含以下功能:
- 提供静态文件服务
- 实现几个基本路由
- 添加简单的中间件
7. 下一步学习
现在你已经了解了Express的基础知识,接下来可以深入学习:
- 路由系统详解
- 中间件高级应用
- 错误处理机制
- 模板引擎使用
- 数据库集成
继续阅读后续章节,掌握更多Express高级功能!