📅  最后修改于: 2023-12-03 14:41:05.349000             🧑  作者: Mango
ExpressJS是一个运行在Node.js平台上的Web开发框架。它提供了一系列功能来简化Web应用程序的开发和维护,包括路由、中间件、视图渲染、错误处理等。
使用npm安装ExpressJS:
npm install 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的简单介绍,希望对程序员们有所帮助。