Express新手入门:深入理解路由、中间件和模板引擎
Express是一款非常实用的Node.js框架,对于想要入门Express的新手来说,路由、中间件和模板引擎是必须掌握的核心内容。接下来,本文将详细介绍如何搭建Express开发环境,以及这三项核心功能的实战应用。
一、搭建Express开发环境
在开始使用Express进行项目开发前,我们需要先完成开发环境的搭建,主要包含以下四个关键步骤。
(一)安装Node.js
首先,前往Node.js官方网站,下载长期稳定支持(LTS)版本。安装完成后,打开命令行工具,输入node -v
和npm -v
命令进行安装验证。这两个命令分别用于查看Node.js和npm(Node.js的包管理工具)的版本号,如果能正确显示版本信息,就说明安装成功了。
(二)初始化项目
在命令行中执行以下操作:
mkdir my-express-app && cd my-express-app npm init -y
上述代码的第一行,mkdir my-express-app
用于创建一个名为my-express-app
的项目文件夹,&& cd my-express-app
则是在创建完成后立即进入该文件夹。第二行的npm init -y
命令,会快速生成项目所需的package.json
文件,这个文件记录了项目的各种依赖信息和配置参数。
(三)安装Express
在项目文件夹下的命令行中输入:
npm install express --save
这行命令会将Express安装到项目中,并将其作为生产环境依赖记录在package.json
文件里。以后运行项目时,npm就知道需要安装Express这个依赖包了。
(四)创建入口文件
在项目根目录下创建一个名为app.js
的文件,输入以下代码:
// app.js const express = require('express'); const app = express(); app.listen(3000, () => console.log('Server running on port 3000'));
这段代码的作用是引入Express模块,创建一个Express应用实例app
,并让应用监听3000端口。当应用启动成功后,会在控制台打印出“Server running on port 3000”的提示信息。
二、Express实战
接下来,通过构建一个支持JSON和表单数据的用户注册API,来深入了解Express中路由、中间件的使用方法。
(一)路由监听
路由在Express中起着关键作用,它负责根据不同的HTTP请求方法(如GET、POST等)和URL路径,来决定执行相应的处理逻辑。
// GET请求处理 app.get('/api/users', (req, res) => { res.json([{id: 1, name: 'John'}]); // 返回JSON数据 }); // POST请求处理(需中间件解析请求体) app.use(express.json()); // 解析JSON app.use(express.urlencoded({ extended: true })); // 解析表单 app.post('/api/users', (req, res) => { console.log(req.body); // 获取客户端数据 res.status(201).send('User created!'); });
在上述代码中,app.get('/api/users', (req, res) => {... })
表示当收到对/api/users
的GET请求时,会返回一个包含用户信息的JSON数据。而app.post('/api/users', (req, res) => {... })
用于处理对/api/users
的POST请求,不过在处理POST请求前,需要使用express.json()
和express.urlencoded({ extended: true })
这两个中间件,它们分别用于解析JSON格式和表单格式的请求体数据,这样在处理函数中就能通过req.body
获取客户端提交的数据了,最后返回“User created!”表示用户创建成功。
(二)动态路由参数
有时候我们需要根据不同的参数值来处理请求,这就用到了动态路由参数。
app.get('/users/:id', (req, res) => { res.send(`User ID: ${req.params.id}`); // 获取URL参数 });
在这段代码中,/users/:id
里的:id
就是动态路由参数。当收到对/users/
后面跟着具体ID值(比如/users/1
)的GET请求时,req.params.id
就能获取到这个ID值,并在返回信息中显示出来。
(三)静态资源托管
在项目开发中,经常会用到一些静态资源,如图片、CSS样式文件、JavaScript脚本文件等。Express提供了静态资源托管的功能,方便我们访问这些资源。
app.use('/public', express.static('public')); // 开放public目录
上述代码表示将项目中的public
目录设置为静态资源目录,通过/public
这个URL前缀,就可以访问public
目录下的所有文件。比如public
目录下有一个index.css
文件,那么在浏览器中访问/public/index.css
就能获取到这个文件的内容。
通过以上内容,相信大家对Express的环境搭建以及路由、中间件的使用有了更清晰的认识。模板引擎在Express开发中也有着重要作用,感兴趣的读者可以自行查阅资料深入学习。希望本文能帮助大家快速入门Express开发。