nodejs通过响应回写的方式渲染页面资源

我们一般通过node框架提供的api操作页面渲染,如何利用原始回写的方式来实现同样的功能呢
下面是通过node 提供的异步地读取一个文件的全部内容api readFile进行操作,代码如下:

html

  <!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <meta http-equiv="X-UA-Compatible" content="ie=edge">
    <link rel="stylesheet" type="text/css" href="./static/style.css" />
    <title>Document</title>
</head>
<body>
    <div>这是一个div </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <div>这是一个div  </div>
    <script type="text/javascript" src="./static/test.js"></script>
 </body>
</html>

/static 文件夹里面放test.js 和 style.css 文件

  div:nth-child(1){
    font-size: 50px;
    color: red;
}

div:nth-child(3){
    font-size: 80px;
    color: blue;
}

div:nth-child(6){
    font-size: 100px;
    color: blueviolet;
}

app.js

  // 搭建服务
var http = require('http');
var fs = require('fs');
var server = http.createServer();
server.on('listening',()=> {
    console.log('server starts at localhost 8080');
})
server.listen('8080','localhost');

//监听服务
server.on('request',(req,res)=>{
    if(req.url == '/') {//渲染html文件
        fs.readFile('./html/node.html',(err,info)=>{
              res.write(info);
              res.end();
        })
    } else if(req.url.startsWith('/static')) {//统一渲染html需要的static静态文件到页面
        fs.readFile(__dirname + req.url,(err,info) =>{
            res.write(info);
            res.end();
        })
    }
})
    原文作者:吴凌云
    原文地址: https://segmentfault.com/a/1190000014213658
    本文转自网络文章,转载此文章仅为分享知识,如有侵权,请联系博主进行删除。
点赞