express的基本使用

Express是Node.js平台的Web开发框架,简化了Web应用的构建。通过npm安装后,可以创建基本的Web服务器,支持GET、POST请求和响应数据。还能通过req.query和req.params获取URL参数,使用express.static()托管静态资源。
摘要由CSDN通过智能技术生成


鉴于 Connect 基于 HTTP 模块提供了开发 Web 应用常用你的基础功能,Express 基于 Connect 为构建整个网站以及 Web 应用提供了更为方便的 API。

什么是 Express

Express 是基于 Node.js 平台,快速、开放、极简的 Web 开发框架。其作用和 Nnode.js 内置 http 模块类似,是专门用来创建 Web 服务器的。Express 的本质就是一个 npm 上的第三方包,提供了快速创建 Web 服务器的便捷方法。相比于 http 内置模块,Express 模块能极大地提高开发效率。
官方网址:Express - 基于 Node.js 平台的 web 应用开发框架 - Express 中文文档 | Express 中文网

安装 Express

我们这里也将以 4.17.1 版本的包来作示范。同时,以下所有有关 Express 的操作使用的都是 4.17.1 版本的包。

npm i express@4.17.1

创建最基本的 Web 服务器

// 导入 Express 包
const express = require('express')
// 创建 Web 服务器
const app = express()
// 启动 Web 服务器
// 调用 app.listen(端口号,启动成功后的回调函数),启动服务器
app.listen(80,()=>{
	console.log('express server running at http://127.0.0.1')
})

GET、POST 和 SEND 方法

// 导入 Express 包
const express = require('express')
// 创建 Web 服务器
const app = express()
// 监听客户端的 GET 和 POST 请求
app.get('/user', (req, res) => {
	// 调用 res.send() 方法,向客户端响应一个 JSON 对象
	res.send({name :'zs',age: 20,sex: '男'})
})
app.post('user', (req, res) => {
	// 调用 res.send() 方法,向客户端响应一个文本字符串
	res.send('请求成功!')
})
// 调用 app.listen(端口号,启动成功后的回调函数),启动服务器
app.listen(80, () => {
	console.log('express server running at http://127.0.0.1')
})

获取 url 中的参数

通过 req.query 对象,可以访问到客户端通过查询字符串的形式,发送到服务器的参数:

app.get('/', (req, res) => {
	// req.query 默认是一个空对象
	// 客户端使用 ?=name=zs&age=20 这种查询字符串形式,发送到服务器的参数
	// 可以通过 req.query 对象访问到,例如:
	// req.query.name req.query.age
	console.log(req.query)
	res.send(req.query)
})

通过 req.params 对象,可以访问到 URL 中,通过 : 匹配到的动态参数:

// URL 地址中,可以通过 :参数名 的形式,匹配动态参数值
app.get('/user/:id',(req,res)=>{
	//req.params 默认是一个空对象
	//里面存放着通过 : 动态匹配到的参数值
	console.log(req.params)
	res.send(req.params)
})

托管静态资源

express.static()
express 提供了一个非常好用的函数,叫做 express.static() ,通过它我们可以非常方便地创建一个静态资源服务器。例如,通过以下代码可以将 public 目录下的图片、CSS 文件。JavaScript 文件对外开放访问了:

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

注意:Express 在指定的静态目录中查找文件,并对外提供资源的访问路径。因此存放静态文件的目录名不会出现在 URL 中。

const express = require('express')
const app = express()
// 调用 express.static() 方法,快速的对外提供静态资源
app.use(express.static('./clock'))
app.listen(80, () => {
	console.log('express server running at http://127.0.0.1')
})

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

如果希望再拖管的静态资源访问路径之前,挂载路径前缀,则可以使用如下的方式:

app.use('./public',express.static('public'))

样例代码:

const express = require('express')
const app = express()
//挂载路径前缀 /abc
app.use('/abc',express.static('./clock'))
app.listen(80,()=>{
	console.log('express server running at http://127.0.0.1')
})
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

码上行舟

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值