Node.js之art-template模板的使用
Posted 1/2的领土
tags:
篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Node.js之art-template模板的使用相关的知识,希望对你有一定的参考价值。
1、wwwDir目录中的信息
2、template.html文件信息
<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2 Final//EN"> <html> <head> <title>{{title}}</title> </head> <body> <h1>Index of /</h1> <table> {{each files}} <tr> <!-- <td valign="top"><img src="/icons/folder.gif" alt="[DIR]"></td> --> <td><a href="php/">{{$value}}/</a> </td> <td align="right">01-Apr-2021 10:35 </td> <td align="right"> - </td> <td> </td> </tr> {{/each}} </table> </body> </html>
3、js代码
var http = require(\'http\'); var fs = require(\'fs\'); var template = require(\'art-template\'); var server = http.createServer(); var wwwDir = \'D:/Tomcat/apache-tomcat-10.0.5-windows-x64/apache-tomcat-10.0.5/webapps\'; server.on(\'request\', function(req, res) { var url = req.url; // 将template.html模板通过字符串的方式读取出来,存在data中 fs.readFile(\'./template.html\', function(err, data) { if (err) { return res.end(\'404 Not Found.\'); } // 读取需要填入的数据 raddir方法可以读取到指定目录中的文件名字 fs.readdir(wwwDir, function(err, files) { if (err) { return res.end(\'Can not find wwwDir\'); } // 读出来的data是二进制数据,需要将其装换为字符串 data = data.toString(); // 使用模板 第一个参数是模板信息 第二个参数是需要写入模板里面的数据 var htmlStr = template.render(data, { title: \'title变了\', files: files }); // 告诉浏览器以什么方式进行解码 res.setHeader(\'Content-Type\', \'text/html;charset=utf-8\'); res.end(htmlStr); }); }); }); server.listen(3000, function() { console.log(\'服务器启动成功,请通过localhost:3000 进行访问\'); });
4、启动服务器
5、结果:
以上是关于Node.js之art-template模板的使用的主要内容,如果未能解决你的问题,请参考以下文章
Node学习之(第三章:art-template模板引擎的使用)