Express是一款非常实用的Node.js框架,对于想要入门Express的新手来说,路由、中间件和模板引擎是必须掌握的核心内容。接下来,本文将详细介绍如何搭建Express开发环境,以及这三项核心功能的实战应用。

一、搭建Express开发环境

在开始使用Express进行项目开发前,我们需要先完成开发环境的搭建,主要包含以下四个关键步骤。

(一)安装Node.js

首先,前往Node.js官方网站,下载长期稳定支持(LTS)版本。安装完成后,打开命令行工具,输入node -vnpm -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开发。