推荐答案
Express 的核心概念包括:
中间件(Middleware):中间件是 Express 的核心概念之一,它是一个函数,可以访问请求对象(
req)、响应对象(res)和应用程序的请求-响应循环中的下一个中间件函数(next)。中间件可以执行任何代码、修改请求和响应对象、结束请求-响应循环,或者调用下一个中间件。路由(Routing):路由是指确定应用程序如何响应客户端对特定端点的请求。Express 提供了简单而强大的路由机制,允许开发者定义 HTTP 请求方法(如 GET、POST、PUT、DELETE 等)与 URL 路径之间的映射关系。
请求和响应对象(Request and Response Objects):Express 提供了
req和res对象,分别表示 HTTP 请求和响应。req对象包含客户端发送的请求信息,如请求参数、请求头等;res对象用于向客户端发送响应,如设置响应头、发送响应数据等。模板引擎(Template Engines):Express 支持多种模板引擎,如 Pug、EJS、Handlebars 等。模板引擎允许开发者在服务器端生成 HTML 页面,并将动态数据嵌入到页面中。
错误处理(Error Handling):Express 提供了内置的错误处理机制,开发者可以通过定义错误处理中间件来捕获和处理应用程序中的错误。
静态文件服务(Static File Serving):Express 提供了
express.static中间件,用于托管静态文件(如 CSS、JavaScript、图片等),使得这些文件可以通过 URL 直接访问。应用程序对象(Application Object):Express 应用程序的核心是
app对象,它表示 Express 应用程序实例。开发者可以通过app对象配置应用程序、定义路由、注册中间件等。
本题详细解读
中间件(Middleware)
中间件是 Express 的核心概念之一,它是一个函数,可以访问请求对象(req)、响应对象(res)和应用程序的请求-响应循环中的下一个中间件函数(next)。中间件可以执行任何代码、修改请求和响应对象、结束请求-响应循环,或者调用下一个中间件。
app.use((req, res, next) => {
console.log('Time:', Date.now());
next();
});路由(Routing)
路由是指确定应用程序如何响应客户端对特定端点的请求。Express 提供了简单而强大的路由机制,允许开发者定义 HTTP 请求方法(如 GET、POST、PUT、DELETE 等)与 URL 路径之间的映射关系。
app.get('/', (req, res) => {
res.send('Hello World!');
});请求和响应对象(Request and Response Objects)
Express 提供了 req 和 res 对象,分别表示 HTTP 请求和响应。req 对象包含客户端发送的请求信息,如请求参数、请求头等;res 对象用于向客户端发送响应,如设置响应头、发送响应数据等。
app.get('/user/:id', (req, res) => {
const userId = req.params.id;
res.send(`User ID: ${userId}`);
});模板引擎(Template Engines)
Express 支持多种模板引擎,如 Pug、EJS、Handlebars 等。模板引擎允许开发者在服务器端生成 HTML 页面,并将动态数据嵌入到页面中。
app.set('view engine', 'pug');
app.get('/', (req, res) => {
res.render('index', { title: 'Express', message: 'Hello World!' });
});错误处理(Error Handling)
Express 提供了内置的错误处理机制,开发者可以通过定义错误处理中间件来捕获和处理应用程序中的错误。
app.use((err, req, res, next) => {
console.error(err.stack);
res.status(500).send('Something broke!');
});静态文件服务(Static File Serving)
Express 提供了 express.static 中间件,用于托管静态文件(如 CSS、JavaScript、图片等),使得这些文件可以通过 URL 直接访问。
app.use(express.static('public'));应用程序对象(Application Object)
Express 应用程序的核心是 app 对象,它表示 Express 应用程序实例。开发者可以通过 app 对象配置应用程序、定义路由、注册中间件等。
// www.javascriptcn.com code example
const express = require('express');
const app = express();
app.get('/', (req, res) => {
res.send('Hello World!');
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});