Express 是一个极简的 Node.js Web 应用框架,它可以帮助开发者快速创建 Web 应用程序。在这个全攻略中,我们将深入了解 Express 的基本概念、安装配置、路由处理、中间件的使用,以及一些高级特性,帮助你轻松上手 Express,打造高效 Node.js Web 应用。
一、Express 简介
Express 是由语义网络公司(Semantics Inc.)开发的,它是一个开源的、基于 Node.js 的 Web 应用框架。Express 提供了一系列丰富的功能,如路由、模板引擎、中间件、错误处理等,使得开发者可以更轻松地构建高性能的 Web 应用。
二、安装与配置
要开始使用 Express,首先需要安装 Node.js。安装完成后,可以通过以下命令全局安装 Express:
npm install express -g
接下来,创建一个新的 Node.js 项目,并初始化 package.json 文件:
mkdir my-express-app
cd my-express-app
npm init -y
然后,安装 Express 模块:
npm install express
最后,创建一个名为 app.js 的文件,并编写以下代码:
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');
});
运行 node app.js,在浏览器中访问 http://localhost:3000,你将看到 “Hello, World!” 的提示。
三、路由处理
Express 使用路由来处理不同的 HTTP 请求。以下是一些基本的路由示例:
app.get('/', (req, res) => {
res.send('Home page');
});
app.get('/about', (req, res) => {
res.send('About page');
});
app.post('/contact', (req, res) => {
res.send('Contact page');
});
在这个例子中,我们定义了三个路由:GET /、GET /about 和 POST /contact。每个路由都对应一个处理函数,该函数接收两个参数:请求对象(req)和响应对象(res)。
四、中间件
中间件是 Express 的核心概念之一。它是一个简单的函数,它接受三个参数:req、res 和 next。以下是中间件的一个基本示例:
app.use((req, res, next) => {
console.log('请求到达');
next();
});
app.get('/', (req, res) => {
res.send('Home page');
});
在这个例子中,我们创建了一个中间件,它会在每个请求处理之前执行。next() 函数用于将控制权传递给下一个中间件或路由处理函数。
五、模板引擎
Express 支持多种模板引擎,如 EJS、Pug、Handlebars 等。以下是一个使用 EJS 模板引擎的示例:
const express = require('express');
const ejs = require('ejs');
const app = express();
app.set('view engine', 'ejs');
app.get('/', (req, res) => {
res.render('index', { title: 'Home page' });
});
app.listen(3000, () => {
console.log('Server is running on port 3000');
});
在这个例子中,我们使用 app.set('view engine', 'ejs') 设置了模板引擎为 EJS。res.render('index', { title: 'Home page' }) 用于渲染名为 index 的模板,并将 title 作为参数传递给模板。
六、高级特性
Express 提供了许多高级特性,如:
- 错误处理:使用
app.use和app.error中间件可以方便地处理错误。 - 静态文件服务:使用
express.static中间件可以轻松地提供静态文件,如 CSS、JavaScript 和图片。 - 环境变量:使用
process.env可以访问环境变量,如数据库连接字符串等。
七、总结
通过本文的学习,相信你已经对 Express 有了一定的了解。Express 是一个功能强大、易于使用的 Node.js Web 应用开发框架,它可以帮助你快速构建高效的 Web 应用。希望这篇全攻略能帮助你轻松上手 Express,开启你的 Node.js Web 应用开发之旅。
