📌  相关文章
📜  如何使用 Node 和 Express 从服务器向客户端发送响应?(1)

📅  最后修改于: 2023-12-03 15:38:05.101000             🧑  作者: Mango

如何使用 Node 和 Express 从服务器向客户端发送响应?

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 应用程序了!