Express入门必学三件套:路由、中间件、模板引擎全解析

一、环境搭建四步曲

  1. 安装Node.js
    • 官网下载LTS版本,验证安装:node -v && npm -v

  2. 初始化项目

    bash 复制代码
    mkdir my-express-app && cd my-express-app  
    npm init -y  # 快速生成package.json
  3. 安装Express

    bash 复制代码
    npm install express --save  # 生产依赖
  4. 创建入口文件

    javascript 复制代码
    // app.js
    const express = require('express');
    const app = express();
    app.listen(3000, () => console.log('Server running on port 3000'));

二、核心功能实战演示

场景:构建用户注册API(支持JSON和表单数据)

  1. 路由监听

    javascript 复制代码
    // 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!');
    });
  2. 动态路由参数

    javascript 复制代码
    app.get('/users/:id', (req, res) => {
      res.send(`User ID: ${req.params.id}`); // 获取URL参数
    });
  3. 静态资源托管

    javascript 复制代码
    app.use('/public', express.static('public')); // 开放public目录
相关推荐
昔人'24 分钟前
`list-style-type: decimal-leading-zero;`在有序列表`<ol></ol>` 中将零添加到一位数前面
前端·javascript·html
桦说编程5 小时前
深入解析CompletableFuture源码实现(2)———双源输入
java·后端·源码
舒一笑6 小时前
大模型时代的程序员成长悖论:如何在AI辅助下不失去竞争力
后端·程序员·掘金技术征文
lang201509286 小时前
Spring Boot优雅关闭全解析
java·spring boot·后端
小羊在睡觉6 小时前
golang定时器
开发语言·后端·golang
用户21411832636026 小时前
手把手教你在魔搭跑通 DeepSeek-OCR!光学压缩 + MoE 解码,97% 精度还省 10-20 倍 token
后端
追逐时光者7 小时前
一个基于 .NET 开源、功能强大的分布式微服务开发框架
后端·.net
saadiya~7 小时前
ECharts 实时数据平滑更新实践(含 WebSocket 模拟)
前端·javascript·echarts
百锦再7 小时前
Vue Scoped样式混淆问题详解与解决方案
java·前端·javascript·数据库·vue.js·学习·.net
刘一说7 小时前
Spring Boot 启动慢?启动过程深度解析与优化策略
java·spring boot·后端