📜  ExpressJS教程(1)

📅  最后修改于: 2023-12-03 14:41:05.349000             🧑  作者: Mango

ExpressJS教程

ExpressJS是一个运行在Node.js平台上的Web开发框架。它提供了一系列功能来简化Web应用程序的开发和维护,包括路由、中间件、视图渲染、错误处理等。

安装

使用npm安装ExpressJS:

npm install express
创建一个Express应用程序
const express = require('express');
const app = express();

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

app.listen(3000, () => {
  console.log('App is running on port 3000');
});

这段代码创建了一个简单的Express应用程序,监听在3000端口。当用户访问根路由时,返回一个字符串"Hello, World!"。

路由

路由用于定义应用程序的端点(URL)及如何响应客户端请求。

app.get('/users', (req, res) => {
  res.send('List of users');
});

app.post('/users', (req, res) => {
  res.send('Create a user');
});

app.put('/users/:id', (req, res) => {
  res.send(`Update user with id ${req.params.id}`);
});

app.delete('/users/:id', (req, res) => {
  res.send(`Delete user with id ${req.params.id}`);
});

这段代码定义了四个路由:GET /users、POST /users、PUT /users/:id、DELETE /users/:id。

中间件

中间件是在请求和响应之间处理请求的功能。它可以用于路由处理之前、路由处理之后,以及处理静态资源等。

// 在路由处理之前输出请求方法和请求路径
app.use((req, res, next) => {
  console.log(`${req.method} ${req.url}`);
  next();
});

// 处理静态资源
app.use(express.static('public'));

这段代码使用了两个中间件。第一个中间件用于在路由处理之前输出请求方法和请求路径。第二个中间件用于处理静态资源,将public目录下的静态文件作为Web资源发送给客户端。

视图渲染

ExpressJS支持将动态数据渲染到模板中,并将渲染后的HTML发送给客户端。

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

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

这段代码使用了ejs模板引擎渲染了一个users模板,并将data数据传递给模板。

错误处理

ExpressJS提供了一个错误处理中间件,用于捕获应用程序中的错误并作出响应。

app.use((req, res, next) => {
  const error = new Error('Not found');
  error.status = 404;
  next(error);
});

app.use((err, req, res, next) => {
  res.status(err.status || 500);
  res.send(`Error: ${err.message}`);
});

这段代码定义了两个错误处理中间件。第一个中间件用于捕获404错误,第二个中间件用于捕获其他错误并返回错误信息。

以上就是ExpressJS的简单介绍,希望对程序员们有所帮助。