认识 Express.js:Node.js 最流行的 Web 框架

目录

[1. 什么是 Express.js?](#1. 什么是 Express.js?)

[2. 安装 Express](#2. 安装 Express)

[3. 创建一个简单的 Express 服务器](#3. 创建一个简单的 Express 服务器)

[4. 运行服务器](#4. 运行服务器)

[5. Express 基本功能](#5. Express 基本功能)

[5.1 路由](#5.1 路由)

[5.2 中间件](#5.2 中间件)

[5.3 处理 JSON 数据](#5.3 处理 JSON 数据)

[6. 结语](#6. 结语)


1. 什么是 Express.js?

Express.js 是一个基于 Node.js 的 Web 应用框架,能让我们快速搭建服务器,处理 HTTP 请求,提供 API,并支持中间件扩展。

2. 安装 Express

首先确保你安装了 Node.js,然后使用 npm 安装 Express:

bash 复制代码
mkdir express-demo && cd express-demo  # 创建项目目录
npm init -y  # 初始化项目
npm install express  # 安装 Express

3. 创建一个简单的 Express 服务器

新建 server.js 文件,写入以下代码:

javascript 复制代码
// server.js
const express = require('express'); // 引入 Express
const app = express(); // 创建 Express 应用
const port = 3000; // 端口号

// 主页路由
app.get('/', (req, res) => {
    res.send('Hello, Express!');
});

// 监听端口,启动服务器
app.listen(port, () => {
    console.log(`服务器运行在 http://localhost:${port}`);
});

4. 运行服务器

在终端执行:

bash 复制代码
node server.js

然后在浏览器访问 http://localhost:3000,你将看到:

bash 复制代码
Hello, Express!

5. Express 基本功能

5.1 路由

Express 可以处理不同的 URL 请求:

javascript 复制代码
app.get('/about', (req, res) => res.send('关于我们页面'));
app.get('/user/:name', (req, res) => res.send(`你好,${req.params.name}!`));

5.2 中间件

中间件用于处理请求,比如日志、身份验证等:

javascript 复制代码
app.use((req, res, next) => {
    console.log(`请求路径:${req.url}`);
    next();
});

5.3 处理 JSON 数据

javascript 复制代码
app.use(express.json());
app.post('/data', (req, res) => res.json({ received: req.body }));

6. 结语

Express.js 是 Node.js 最常用的 Web 框架,使用它可以快速搭建 Web 服务器、创建 API,并支持中间件扩展。试试自己动手写一个简单的 Express 项目吧!🚀

相关推荐
king王一帅2 小时前
Incremark Solid 版本上线:Vue/React/Svelte/Solid 四大框架,统一体验
前端·javascript·人工智能
SmartRadio6 小时前
CH585M+MK8000、DW1000 (UWB)+W25Q16的低功耗室内定位设计
c语言·开发语言·uwb
rfidunion6 小时前
QT5.7.0编译移植
开发语言·qt
rit84324997 小时前
MATLAB对组合巴克码抗干扰仿真的实现方案
开发语言·matlab
智航GIS7 小时前
10.4 Selenium:Web 自动化测试框架
前端·python·selenium·测试工具
前端工作日常7 小时前
我学习到的A2UI概念
前端
大、男人7 小时前
python之asynccontextmanager学习
开发语言·python·学习
hqwest7 小时前
码上通QT实战08--导航按钮切换界面
开发语言·qt·slot·信号与槽·connect·signals·emit
徐同保7 小时前
为什么修改 .gitignore 后还能提交
前端
一只小bit7 小时前
Qt 常用控件详解:按钮类 / 显示类 / 输入类属性、信号与实战示例
前端·c++·qt·gui