http响应练习—在服务器端渲染html(SSR)

一、什么是服务器端渲染(SSR)

简单说,就是在服务器上把网页生成好,整个的HTML页面生成出来,生成出的页面已经包含了所有必要的数据和结构信息,然后直接发给浏览器进行展现。

二、例题

要求搭建http服务,响应一个4行3列的表格,并且表格隔行换色,点击单元格后相应单元格会单独变色显示

思路:

(1)在建一个html文件,在里面写好htmlcssjs代码。

(2)通过fs去读取这个html文件,并且通过fs写入文件的方式写入到我们要运行的文件中

html代码如图所示:
<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>Document</title>
    <style>
        td{
            padding: 30px 30px;
            border-collapse: collapse;
        }
        tr:nth-child(odd){
            background-color: pink;
        }
        tr:nth-child(even){
            background-color: darksalmon;
        }
    </style>
</head>
<body>
    <table border="1">
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
        <tr>
            <td></td>
            <td></td>
            <td></td>
        </tr>
    </table>
    <script>
        var tds=document.querySelectorAll('td');
        tds.forEach(item =>{
        item.onclick=function(){
            this.style.backgroundColor="yellow";
        }
        });
    </script>
</body>
</html>
运行代码如图所示:
// 1.导入http模块
const http=require('http');
const fs=require('fs');
// 2.创建服务对象
const server=http.createServer((request,response)=>{
    let html=fs.readFileSync('./28-1.http响应练习.html') //通过fs去读取这个html文件
    response.end(html);
})
// 3.监听端口,启动服务
server.listen(9000,()=>{
    console.log('服务已启动...');
})
运行结果如图所示:

相关推荐

  1. 客户渲染服务渲染

    2024-03-28 07:34:05       42 阅读
  2. 服务渲染SSR

    2024-03-28 07:34:05       76 阅读
  3. 客户渲染服务渲染(2)

    2024-03-28 07:34:05       36 阅读
  4. 客户渲染服务渲染(1)

    2024-03-28 07:34:05       39 阅读
  5. 客户渲染服务渲染(2)

    2024-03-28 07:34:05       37 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-03-28 07:34:05       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-03-28 07:34:05       101 阅读
  3. 在Django里面运行非项目文件

    2024-03-28 07:34:05       82 阅读
  4. Python语言-面向对象

    2024-03-28 07:34:05       91 阅读

热门阅读

  1. Django 自定义中间件(IP限制频率、用户权限)

    2024-03-28 07:34:05       46 阅读
  2. 数据结构之搜素二叉树

    2024-03-28 07:34:05       40 阅读
  3. Xxe漏洞

    2024-03-28 07:34:05       38 阅读
  4. MySQL 查询优化与 EXPLAIN 关键字详解

    2024-03-28 07:34:05       44 阅读
  5. Serilog日志框架

    2024-03-28 07:34:05       41 阅读
  6. openGauss系统函数添加指导

    2024-03-28 07:34:05       36 阅读
  7. 浅聊openGauss逻辑架构

    2024-03-28 07:34:05       35 阅读
  8. SBA架构5G核心网

    2024-03-28 07:34:05       43 阅读