📅  最后修改于: 2023-12-03 15:38:05.101000             🧑  作者: Mango
Node.js 是一种服务器端 JavaScript 执行环境,它允许我们使用 JavaScript 编写服务器端代码。Express 是一个流行的 Node.js 框架,它提供了一些实用程序和中间件,可以轻松地构建 Web 应用程序。本文将介绍如何使用 Node 和 Express 从服务器向客户端发送响应。
HTTP 是一个基于请求 - 响应的协议。Web 浏览器向 Web 服务器发送请求,服务器处理请求并向浏览器发送响应。在 Node 和 Express 中,我们可以使用 http
模块或 express
框架中提供的方法来处理这些请求和响应。
使用 Express,我们可以使用 send
方法向客户端发送响应。send
方法可以发送文本、HTML、JSON 和其他一些数据类型。以下是基本示例:
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.send('Hello, World!')
})
app.listen(3000, () => {
console.log('Server is running on port 3000')
})
在此示例中,我们创建了一个 Express 应用程序,并在根路径上创建了一个 GET 路由。当我们向根路径发出 GET 请求时,服务器将响应 Hello, World!
。
在 Express 中,我们也可以使用 json
方法向客户端发送 JSON 数据:
const express = require('express')
const app = express()
app.get('/products', (req, res) => {
const products = [
{ id: 1, name: 'Product 1' },
{ id: 2, name: 'Product 2' },
{ id: 3, name: 'Product 3' }
]
res.json(products)
})
app.listen(3000, () => {
console.log('Server is running on port 3000')
})
在此示例中,我们创建了一个 GET 路由 /products
。当我们在浏览器中调用此路由时,服务器将响应 JSON 数据。
我们可以使用 status
方法设置响应的状态码。以下是一个基本示例:
const express = require('express')
const app = express()
app.get('/', (req, res) => {
res.status(404).send('Not Found')
})
app.listen(3000, () => {
console.log('Server is running on port 3000')
})
在此示例中,我们在根路径上创建了一个 GET 路由。如果请求的资源不存在,服务器将响应状态码 404
并发送字符串 Not Found
。
我们可以使用 sendFile
方法向客户端发送文件。以下是一个基本示例:
const express = require('express')
const path = require('path')
const app = express()
app.get('/', (req, res) => {
res.sendFile(path.join(__dirname, 'index.html'))
})
app.listen(3000, () => {
console.log('Server is running on port 3000')
})
在此示例中,我们将 index.html
文件发送给客户端。__dirname
变量包含当前文件所在目录的路径。
在本文中,我们了解了如何使用 Node 和 Express 从服务器向客户端发送响应。我们已经看到了如何使用 send
方法、json
方法、status
方法和 sendFile
方法向客户端发送响应。现在,你可以开始构建自己的 Node 和 Express 应用程序了!