Express.js 是一个基于 Node.js 的 Web 应用程序框架,用于简化构建和组织 Web 应用程序。它提供了一系列强大的功能和中间件,使得处理 HTTP 请求、路由、模板引擎集成等变得更加容易。以下是有关 Express.js 框架的详细知识总结:
1. 安装 Express.js:
使用 npm 安装 Express.js:
npm install express
2. 创建一个基本的 Express 应用:
const express = require('express');
const app = express();
const port = 3000;
app.get('/', (req, res) => {
res.send('Hello, Express!');
});
app.listen(port, () => {
console.log(`Server is running at http://localhost:${port}`);
});
3. 路由:
Express 使用路由来定义应用的不同端点。路由可以处理 HTTP 请求,执行相应的操作。
// 处理 GET 请求
app.get('/about', (req, res) => {
res.send('About Us');
});
// 处理 POST 请求
app.post('/submit', (req, res) => {
res.send('Form submitted');
});
4. 中间件:
中间件是 Express.js 应用中处理 HTTP 请求的函数。它可以执行一些任务,修改请求和响应对象,或结束请求-响应周期。
// 记录请求时间
app.use((req, res, next) => {
console.log('Time:', Date.now());
next();
});
// 自定义中间件
const myMiddleware = (req, res, next) => {
// 执行一些任务
next();
};
app.use(myMiddleware);
5. 模板引擎:
Express 支持使用多种模板引擎来渲染动态内容。
npm install ejs
app.set('view engine', 'ejs');
app.get('/user/:id', (req, res) => {
res.render('user', { userId: req.params.id });
});
6. 静态文件:
使用 express.static
中间件可以方便地提供静态文件,如图像、样式表和脚本。
app.use(express.static('public'));
7. 处理表单和文件上传:
Express 可以通过中间件处理表单数据和文件上传。
npm install body-parser multer
const bodyParser = require('body-parser');
const multer = require('multer');
const upload = multer();
app.use(bodyParser.urlencoded({ extended: true }));
8. 错误处理:
通过定义错误处理中间件,可以处理应用中发生的错误。
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something went wrong!');
});
9. RESTful API 设计:
Express 可以用于构建符合 RESTful 风格的 API。
// 获取所有用户
app.get('/api/users', (req, res) => {
// 返回用户列表
});
// 获取特定用户
app.get('/api/users/:id', (req, res) => {
const userId = req.params.id;
// 返回特定用户信息
});
10. 使用 Express Generator 快速生成应用骨架:
Express Generator 是一个官方的应用生成器,可快速创建一个 Express 应用的基本骨架。
npm install -g express-generator
express myapp
cd myapp
npm install
npm start
以上只是 Express.js 的一些基础知识点,你可以根据项目的需要进一步深入学习 Express.js 的高级特性和最佳实践。 Express.js 官方文档是深入了解框架的好资源:Express.js 官方文档。