当前位置: 首页 > wzjs >正文

网站建设 网站内容 采集中国企业500强排名一览表

网站建设 网站内容 采集,中国企业500强排名一览表,网站开发使用软件环境硬件环境,杭州网站建设制作公司Node.js 中使用 Express 框架系统详细讲解 一、什么是 Express? Express 是一个基于 Node.js 平台的极简、灵活且广泛使用的 Web 应用框架。它简化了构建 Web 服务器和 API 的流程,提供了一套丰富的功能,比如路由管理、中间件支持、模板引擎…

Node.js 中使用 Express 框架系统详细讲解


一、什么是 Express?

Express 是一个基于 Node.js 平台的极简、灵活且广泛使用的 Web 应用框架。它简化了构建 Web 服务器和 API 的流程,提供了一套丰富的功能,比如路由管理、中间件支持、模板引擎集成等。


二、环境准备

  1. 安装 Node.js(官网:https://nodejs.org/)

  2. 初始化项目

    mkdir my-express-app
    cd my-express-app
    npm init -y  # 快速生成 package.json
    
  3. 安装 Express

    npm install express
    

三、创建一个简单的 Express 服务器

创建一个文件 app.js,写入如下代码:

const express = require('express');
const app = express();// 监听端口
const PORT = 3000;// 路由:响应根路径 GET 请求
app.get('/', (req, res) => {res.send('Hello, Express!');
});// 启动服务器
app.listen(PORT, () => {console.log(`Server is running at http://localhost:${PORT}`);
});

运行命令:

node app.js

打开浏览器访问 http://localhost:3000/,你会看到页面显示 Hello, Express!


四、Express 核心概念讲解

1. 路由(Routing)

Express 通过路由匹配客户端请求的 URL 和 HTTP 方法,来决定如何响应。

  • app.get(path, handler) - 处理 GET 请求
  • app.post(path, handler) - 处理 POST 请求
  • app.put(path, handler) - 处理 PUT 请求
  • app.delete(path, handler) - 处理 DELETE 请求

示例:

app.get('/users', (req, res) => {res.send('获取用户列表');
});app.post('/users', (req, res) => {res.send('创建新用户');
});

2. 请求对象(req)和响应对象(res)

  • req 包含请求相关信息,比如 URL 参数、请求体、查询字符串等
  • res 用来构建响应,常用方法有:
    • res.send()
    • res.json()
    • res.status()
    • res.redirect()

五、中间件(Middleware)

Express 的中间件本质是一个函数,接收三个参数 (req, res, next),用于处理请求和响应的过程。中间件可以执行代码、修改请求对象、响应对象,或者结束请求-响应循环。

内置中间件示例

// 解析 JSON 请求体
app.use(express.json());// 解析 URL-encoded 请求体
app.use(express.urlencoded({ extended: true }));

自定义中间件示例

app.use((req, res, next) => {console.log(`${req.method} ${req.url} 时间: ${new Date().toISOString()}`);next(); // 调用 next 传递控制权
});

六、静态资源服务

使用内置的静态中间件 express.static() 来托管静态文件:

app.use(express.static('public'));

将静态文件(如 HTML、CSS、JS、图片)放入 public 文件夹,浏览器即可访问。


七、处理路由参数与查询参数

  • 路由参数示例:
app.get('/users/:id', (req, res) => {const userId = req.params.id;res.send(`用户ID: ${userId}`);
});
  • 查询参数示例:
app.get('/search', (req, res) => {const keyword = req.query.keyword;res.send(`搜索关键词是: ${keyword}`);
});

八、POST 请求与请求体

客户端通过 POST 发送 JSON 或表单数据时,需要解析请求体。

app.post('/login', (req, res) => {const { username, password } = req.body;res.send(`用户名:${username},密码:${password}`);
});

需要确保已启用 JSON 解析中间件:

app.use(express.json());

九、分离路由(Router)

当项目变大时,可以使用 express.Router() 来分离路由模块:

const express = require('express');
const router = express.Router();router.get('/list', (req, res) => {res.send('用户列表');
});router.post('/add', (req, res) => {res.send('新增用户');
});module.exports = router;

主应用中使用:

const userRouter = require('./routes/user');
app.use('/users', userRouter);

十、错误处理

定义错误处理中间件,必须有四个参数 (err, req, res, next)

app.use((err, req, res, next) => {console.error(err.stack);res.status(500).send('服务器错误');
});

十一、示例完整代码

const express = require('express');
const app = express();app.use(express.json());
app.use(express.urlencoded({ extended: true }));// 自定义日志中间件
app.use((req, res, next) => {console.log(`[${new Date().toISOString()}] ${req.method} ${req.url}`);next();
});app.get('/', (req, res) => {res.send('Hello, Express!');
});app.get('/users/:id', (req, res) => {res.send(`用户ID: ${req.params.id}`);
});app.post('/login', (req, res) => {const { username, password } = req.body;res.send(`用户名: ${username}, 密码: ${password}`);
});// 错误处理中间件
app.use((err, req, res, next) => {console.error(err.stack);res.status(500).send('服务器错误');
});const PORT = 3000;
app.listen(PORT, () => {console.log(`Server running at http://localhost:${PORT}`);
});

http://www.dtcms.com/wzjs/806118.html

相关文章:

  • 网站开发语言php5.1wordpress 下载弹出插件
  • 达州网站建设哪家好德州品牌策划公司
  • 建外文网站淘宝客推广
  • 网站流量消耗计算php网站开发实践
  • 交互设计产品有哪些东莞做网站优化天助网络
  • 网站开发老是弹广告app定制开发制作
  • 平潭建设局网站手机下载视频网站模板下载失败
  • 网站建设设计稿哪里有网站模板下载
  • 成立一个网站平台要多少钱“哈尔滨企业服务平台”公众号
  • 新乡网站建设联系方式做网站用什么字体
  • 建网站 外贸网页制作英文
  • 互联网金融p2p网站建设手机网站开发视频
  • 王建设医生个人网站西安网易网站建设
  • 北京做网站比较大的公司现在建设公司网站用什么软件
  • 视频上传网站如何做制作软件网站
  • 做企业营销网站phpwind 做的网站
  • 银川建设厅网站重庆市建设工程管理协会网站
  • wordpress主题主页面保定网站优化招聘
  • 招标网站开发文档淘货铺
  • html5手机网站案例wordpress屏蔽国外访问
  • 龙华做网站怎么样网站建设与运营答案
  • .net网站开发文档wordpress 自定义查询
  • 做网站余姚济南哪里有建网站
  • 导航网站怎么赚钱企业官网定制设计
  • 四川泸州做网站的公司正邦设计院
  • 南平做网站网站后台为什么传不上图片
  • 中国空间站航天员首次出舱网络域名费用多少钱
  • 科技期刊网站建设如何制作一个收费的网页
  • 网站建设的实训报告淘宝运营培训班多少钱
  • 网站一个人可以做吗wordpress 移动端模板