Express.js 路由示例:动态颜色标题

本示例展示如何使用 Express.js 创建一个简单的网页,其标题颜色会随着每次访问而动态循环变化。

实现思路:

  1. **创建路由:**使用 app.get('/color.html', ...) 定义一个处理 /color.html 路径的 GET 请求的路由。
  2. **定义颜色数组:**创建包含 red, yellow, green, blue 的颜色数组。
  3. **使用计数器:**创建一个计数器 count 用于跟踪访问次数,并根据计数器值从颜色数组中获取当前颜色。
  4. **生成 HTML:**根据获取到的颜色动态生成 HTML 代码,并设置标题文字颜色。
  5. **发送响应:**将生成的 HTML 内容作为响应发送给客户端。

代码示例:

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

let count = 0;
const colors = ['red', 'yellow', 'green', 'blue'];

app.get('/color.html', (req, res) => {
  const color = colors[count % colors.length];
  const html = `
    <!DOCTYPE html>
    <html>
      <head>
        <title>'${color}' color</title>
      </head>
      <body>
        <h1 style='color: ${color};'>'${color}' color</h1>
      </body>
    </html>
  `;
  count++;
  res.send(html);
});

app.listen(3000, () => {
  console.log('Server started on port 3000');
});

工作原理:

每次处理 /color.html 路径的 GET 请求时,代码会从颜色数组中获取下一个颜色,并使用它来构建响应的 HTML 页面。计数器 count 用于跟踪已经使用的颜色数量,并确保它们按顺序循环。最后,响应被发送回客户端。

注意:

此实现并没有记录颜色状态,因此当服务器重新启动时,第一次访问 /color.html 时将再次显示红色。如果需要在服务器重启后保留颜色状态,可以使用数据库或文件系统来存储和加载状态。


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

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