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目录
相关推荐
TE-茶叶蛋1 小时前
React的合成事件(SyntheticEventt)
前端·javascript·react.js
声声codeGrandMaster2 小时前
Django之验证码功能
数据库·后端·python·django
GISer_Jing3 小时前
CSS-in-JS:现代前端样式管理的革新
前端·javascript·css
zwjapple4 小时前
RabbitMQ的基本使用
开发语言·后端·ruby
咖啡の猫5 小时前
JavaScript基础-作用域链
开发语言·javascript
啊啊啊~~5 小时前
css实现不确定内容的高度过渡
前端·javascript·css
追求者20166 小时前
实现图片自动压缩算法,canvas压缩图片方法
前端·javascript·canvas
白开水不加冰6 小时前
Spring的BeanFactory和FactoryBean的区别
java·后端·spring
fashia6 小时前
Java转Go日记(三十六):简单的分布式
开发语言·分布式·后端·zookeeper·golang·go
Jacky-0087 小时前
ajax post请求 解决自动再get请求一次
前端·javascript·ajax