node.js-express

Express 简介

express的基本使用

安装express

npm i express@4.17.1

创建基本的 Web 服务器

监听客户端的get和post请求

把内容响应给客户端:res.send()

获取 URL 中携带的查询参数:req.query

获取 URL 中的动态参数req.params

// 1 导入express
const express = require('express');
// 2 创建web服务器
const app = express();
// 4 监听客户端的get和post请求,并向客户端响应具体的内容
app.get('/user', (req, res) => {
   
  //调用express提供的res.send方法 向客户端响应对象
  res.send({
    name: 'zs', age: 20, gender: '男' });
});

app.post('/user', (req, res) => {
   
  //调用express提供的res.send方法 响应文本字符串
  res.send('请求成功');
});
// 3 启动服务器
app.listen(80, () => {
   
  console.log('express server running at http://127.0.0.1:80');
});

app.get('/', (req, res) => {
   
  //默认情况下,req.query是一个空对象
  //通过req.query可以获取客户端发送过来的查询参数
  //默认情况下 req.query是一个空对象
  console.log(req.query);
  res.send(req.query);
});
//:id是一个动态参数 传递的时候不需要写:
app.get('/user/:id/:name', (req, res) => {
   
  //req.params是动态匹配到的URL参数 默认是一个空对象
  console.log(req.params);
  res.send(req.params);
});

在这里插入图片描述

托管静态资源
//对外提供clock文件夹静态资源
const express = require('express');
const app = express();
//调用express.static()快速对外提供clock文件夹静态资源
app.use(express.static('./files'));
app.use(express.static('./clock'));// /clock不会出现在访问路径中 在浏览器中浏览时直接输入127.0.0.1/index.html 127.0.0.1/index.css
app.listen(80, () => {
   
  console.log('express server running at http://127.0.0.1');
});

托管多个静态资源目录

如果要托管多个静态资源目录,多次调用 express.static() 函数: 访问静态资源文件时,express.static() 函数会根据目录的添加顺序查找所需的文件

挂载路径前缀

[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-5m8k90MB-1682335943638)(F:\VscodeProjects\node.js\img\挂载路径前缀.png)]

nodemon
npm install -g nodemon

Express 路由

路由的概念

在 Express 中,路由指的是客户端的请求与服务器处理函数之间的映射关系。 Express 中的路由分 3 部分组成,分别是请求的类型、请求的 URL 地址、处理函数

app.method(path,handler)

在这里插入图片描述

路由的使用
//在一个空项目的根目录中,初始化package.json
npm init -y
npm i express@4.17.1
nodemon 
//简单路由用法
const express = require('express');
const app = express();
//挂载路由
app.get('/', (req, res) => {
   
  res.send('hello ');
});
app.post('/', (req, res) => {
   
  res.send('post request');
});
app.listen(81, () => {
   
  console.log('http://127.0.0.1:81');
});
模块化路由

为了方便对路由进行模块化的管理,Express 不建议将路由直接挂载到 app 上,而是推荐将路由抽离为单独的模块。 将路由抽离为单独模块的步骤如下:

① 创建路由模块对应的 .js 文件

② 调用 express.Router() 函数创建路由对象

③ 向路由对象上挂载具体的路由

④ 使用 module.exports 向外共享路由对象

⑤ 使用 app.use() 函数注册路由模块

//03.router.js
//路由模块
// 1.导入express
const express = require('express');
// 2.创建路由对象
const router = express.Router();
// 3.挂载具体的路由

router.get('/user/list', (req, res) => {
   
  res.send('Get user list');
});
router.post('/user/add', (req, res) => {
   
  res.send('add new user');
});
// 4.向外导出路由对象
module.exports = router;

//02.模块化路由.js
const express = require('express');
const app = express();

// 1.导入路由模块
const router = require('./03.router');
// 2.注册路由模块
//app.use(router);//app.use()的作用,就是注册全局中间件
app.use
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值