📜  讨论ExpressJS(1)

📅  最后修改于: 2023-12-03 15:12:05.910000             🧑  作者: Mango

讨论ExpressJS

ExpressJS 是一款流行的 Node.js Web 框架,通过它,我们可以很容易地构建 Web 应用程序和 API。它提供了丰富而强大的功能,包括路由、中间件、模板引擎、错误处理等。下面将会介绍它的一些重要特性。

路由

路由是控制应用程序中不同请求的控制器,通过路由,我们可以将请求映射到不同的模块或处理程序上。ExpressJS 提供了方便的路由方法,以及一些辅助方法来支持常见的 HTTP 请求方法。下面是一个简单的路由示例:

const express = require('express');
const app = express();

app.get('/hello', (req, res) => {
  res.send('Hello, World!');
});

上面的代码创建了一个 GET 请求路由,用于处理 /hello 路径的请求。

中间件

中间件是应用程序中可以挂载在路由之前或之后的一些功能模块,它用于处理不同的请求、响应对象或操作。ExpressJS 提供了许多内置的中间件,例如 express.json() 用于解析 JSON 请求体,express.static() 用于提供静态文件。除了内置中间件,我们还可以编写自定义中间件来拓展应用程序的功能。下面是一个使用中间件的示例:

const express = require('express');
const app = express();

app.use(express.static('public'));

上面的代码在应用程序中挂载了一个静态文件中间件,它用于提供 public 文件夹下的资源。

模板引擎

模板引擎用于将数据渲染为 HTML、XML 或其他格式的文档,常用于呈现 Web 应用程序的视图。ExpressJS 支持许多模板引擎,包括 EJS、Pug 等。下面是一个使用 EJS 模板引擎的示例:

const express = require('express');
const app = express();

app.set('view engine', 'ejs');

app.get('/hello', (req, res) => {
  const data = { name: 'John' };
  res.render('hello', data);
});

上面的代码将 EJS 模板引擎设置为应用程序的默认视图引擎,并使用 res.render() 方法将数据渲染为 hello.ejs 模板。

错误处理

错误处理是处理应用程序中出现的错误的过程。ExpressJS 提供了方便的错误处理方法,可以捕获和处理不同的错误情况,例如 404 错误、服务器错误等。下面是一个简单的错误处理示例:

const express = require('express');
const app = express();

app.get('/error', (req, res, next) => {
  const error = new Error('Oops!');
  next(error);
});

app.use((error, req, res, next) => {
  res.status(500).send(error.message);
});

上面的代码创建了一个 GET 请求路由,用于抛出一个错误。错误处理器将捕获这个错误,并将状态码设置为 500,发送错误消息。

以上是 ExpressJS 的一些核心特性介绍,希望可以帮助你更好地了解它。