以下是实现该功能的代码示例:

const express = require('express')
const app = express()

// 初始颜色为红色
let currentColor = 'red'

// 处理GET请求,返回包含当前颜色的网页
app.get('/color.html', (req, res) => {
  // 设置响应头,指定返回的内容为HTML类型
  res.setHeader('Content-Type', 'text/html')
  
  // 构造HTML内容,包含当前颜色的1级标题
  const html = `
    <!DOCTYPE html>
    <html>
    <head>
      <title>Color Page</title>
    </head>
    <body>
      <h1 style="color: ${currentColor};">${currentColor.toUpperCase()}</h1>
    </body>
    </html>
  `
  
  // 发送HTML内容作为响应
  res.send(html)
  
  // 更新颜色为下一个颜色
  switch (currentColor) {
    case 'red':
      currentColor = 'yellow'
      break
    case 'yellow':
      currentColor = 'green'
      break
    case 'green':
      currentColor = 'blue'
      break
    case 'blue':
      currentColor = 'red'
      break
  }
})

// 启动服务器,监听3000端口
app.listen(3000, () => {
  console.log('Server is running on port 3000...')
})

上述代码中,我们使用了一个变量 currentColor 来保存当前的颜色,初始值为红色。在处理 /color.html 路径的 GET 请求时,我们根据当前的颜色生成 HTML 内容,并将其作为响应发送给客户端。随后,我们使用 switch 语句更新 currentColor 变量为下一个颜色,实现了每次刷新页面颜色变化的效果。注意,我们在响应头中指定了返回的内容类型为 HTML,这样浏览器就会正确地解析我们发送的 HTML 内容。


原文地址: https://www.cveoy.top/t/topic/4zo 著作权归作者所有。请勿转载和采集!

免费AI点我,无需注册和登录