node插件express(路由)的基本使用(一)


一、express的了解

express官方中文文档:https://www.expressjs.com.cn/starter/basic-routing.html

1.定义

官网说明:Express 是一个保持最小规模的灵活的 Node.js Web 应用程序开发框架,为 Web 和移动应用程序提供一组强大的功能。
简单理解:一个npm上的第三方包,提供了快捷创建Web服务器的便捷方法。

2.作用

相比于http内置模块创建web服务器而言,Express能极大的提高开发效率。

3.使用express的前提条件

(1)如果是新文件夹需要薪资package.json文件,如果有就忽略

npm init  // 生成package.json文件

(2)安装第三方依赖包

npm i express // 安装第三方依赖包

(3)在使用的地方导入express

const express = require('express')

二、express的基本使用

// 1:导入包
const express = require('express')

// 创建服务器的对象
const app = express();

// 3:创建请求路径
app.get('/home', (req, res) => {
    res.end('Hello word')
})

// 4:启动服务
app.listen(9000, () => {
    console.log('express服务器创建成功');
})

在这里插入图片描述

三、express关于路由的基本使用

1.什么是路由

路由确定了应用程序如何响应客户端对特定端点的请求

2.路由的使用

method 是方法(get、post、all)
path 是请求的路径
callback 回调函数

app.method(path, callback)

3.路由使用示例

需要注意的发送 post 方法表单和ajax,这样才会有效果。

// 1:导入包
const express = require('express')

// 创建服务器的对象
const app = express();

// 3:创建请求路径
// 3.1 get路由——匹配空路径
app.get('/', (req, res) => {
    res.end('home')
})

// 3.2 get路由——匹配home路径
app.get('/home', (req, res) => {
    res.end('Hello word')
})
// 3.3 post路由——匹配login
app.post('/login', (req, res) => {
    res.end('login')
})
// 3.4 匹配所有方法(get、post)
app.all('/test', (req, res) => {
    res.end('test')
})
// 3.5 匹配所有方法(get、post)
app.all('*', (req, res) => {
    res.end('404 found')
})

// 4:启动服务
app.listen(9000, () => {
    console.log('express服务器创建成功');
})

在这里插入图片描述

4、express中的get参数

(1)query参数

在这里插入图片描述

(2)params参数

参数中的 ? 代表 可传可不传
在这里插入图片描述

(3)示例代码



const express = require('express')

const app = express();

// 参数1:静态参数
app.get('/home', (req, res) => {
    // 请求路径:http://127.0.0.1:9000/home?name=zhangsan&pass=123456
    console.log('get参数1',req.query); // get参数1 { name: 'zhangsan', pass: '123456' }
    res.end('home')
})

// 参数2:动态参数(单个)
app.get('/home/:name', (req, res) => {
    // 请求路径: http://127.0.0.1:9000/home/zhangsan/
    console.log('get参数2',req.params); //get参数2 { name: 'zhangsan' }
    res.end('home')
})
// 参数3:动态参数(多个)
// ?表示可以忽略该参数
app.get('/home/:name?/:pass', (req, res) => {
    // 请求路径: http://127.0.0.1:9000/home/zhangsan/123456
    console.log('get参数3',req.params); // get参数3 { name: 'zhangsan', pass: '123456' }
    res.end('home')
})

app.listen(9000, () => {
    console.log('get启动')
})

5、express中的post参数

// node 中使用post参数的逻辑
const express = require('express')

const app = express();
// post 请求参数
app.post('/login/:name?/:pass' ,(req, res) => {
    console.log('post参数',req.params); // post参数 { name: 'zhagnsan', pass: '123456' }
    res.end('home')
})

app.listen(9000, () => {
    console.log('post参数启动')
})

在这里插入图片描述

五、express托管静态资源

1.了解

express.static(root, [options])
app.use(express.static(‘文件路径’))

在这里插入图片描述

2.基本使用

const express = require('express')

const app = express();

// 以前:获取url路径、拼接url路径,读取文件,写入文件......(现在一行即可)
app.use(express.static(__dirname + '/public'))

app.get('/home', (req, res) => {
    res.end('首页')
})

app.listen(9000, () => {
    console.log('服务器启动');
})

在这里插入图片描述

3:注意点

如果要使用多个静态资源目录,请多次调用 express.static 中间件函数

app.use(express.static('public'))
app.use(express.static('files'))
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值