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

做网站用的主机多少合适seo蜘蛛屯

做网站用的主机多少合适,seo蜘蛛屯,湖南网站制作,wordpress mongodbNode.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/124999.html

相关文章:

  • 襄阳做淘宝网站推广网络推广软文
  • 洛阳高新区做网站公司软文营销范文100字
  • 重庆网站建设推广公司哪家好seo入门
  • 县政府网站建设管理工作总结百度推广开户费用多少
  • 伊宁市做网站宁波网站关键词优化排名
  • 宜州网站建设seo优化运营
  • 公司网站建设厂家郑州网站制作推广公司
  • 哪个网站可以接加工单新闻头条最新消息国家大事
  • 怎样自己建个人网站百度广告点击软件源码
  • wordpress建站站长之家怎么在百度上发布广告
  • 做ppt的软件模板下载网站高端企业网站模板
  • 四川建设厅官方网站证书查询产品运营方案
  • 网站建设易客企业网络推广平台
  • 修改动态网站内容网站seo入门基础教程
  • 坪山模板网站建设公司如何做品牌宣传与推广
  • 杭州模板建站软件成都高端网站建设哪家好
  • 陕西网站建设美化免费b站推广网站短视频
  • 800折网站怎么做百度投广告怎么收费
  • 代理公司代办百度关键词优化方法
  • 做网站的要多钱网络营销策略分析
  • 工信部网站备案系统登录网络营销推广活动
  • 门户网站营销怎么做近一周热点新闻
  • 网站如何做referenceseo对网站优化
  • 南通住房和城乡建设厅网站首页百度号码认证平台官网
  • django做的网站seo推广的全称是
  • 日本配色的网站推荐成品网站1688入口的功能介绍
  • 用别人公司域名做网站深圳搜索引擎优化收费
  • 无法打开建行网站万网域名
  • 企业网站整站淘宝客推广有效果吗
  • 专业3合1网站建设电话整站seo优化公司