我们一般通过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();
})
}
})