Nodejs中如何使用模板引擎?如何使用模板引擎渲染HTML?

本篇文章给大家介绍一下浏览器中使用模板引擎的方法、node中使用模板引擎的方法,以及通过案例聊聊使用模板引擎渲染html的方法。

Nodejs中如何使用模板引擎?如何使用模板引擎渲染HTML?

【推荐学习:《node》】

使用readdir获取指定路径下的所有文件名

文件结构

1.png

立即学习“前端免费学习笔记(深入)”;

实现代码

const fs = require('fs');fs.readdir('G:/pink_code/Node_Study/02',(err,list) => {    if (!err) {        console.log(list);    }})

登录后复制

代码输出

[ '01_http-helloWorld.js', '02_使用readdir获取指定路径下的所有文件名.js', 'www' ]

登录后复制

在浏览器中使用模板引擎

1. 安装art-template

npm install art-template

登录后复制登录后复制

2. 通过script标签引入art-template


登录后复制

3. 使用模板引擎语法进行调用

    这是{{name}}    const test = template('tpl',{        name: 'China'    });    console.log(test);

登录后复制

在Node中使用模板引擎

1. 安装art-template

npm install art-template

登录后复制登录后复制

2. 在需要使用模板引擎的模块中加载art-template

3. 查文档,使用模板引擎的API

在Node中使用模板引擎的一个小案例

const template = require('art-template');const test = template.render('hello {{name}}',{    name: 'NodeJs'})console.log(test);

登录后复制

输出结果

hello NodeJs

登录后复制

一个使用模板引擎渲染HTML的小案例

HTML结构

                    h1 {            border-bottom: 1px solid #c0c0c0;            margin-bottom: 10px;            padding-bottom: 10px;            white-space: nowrap;        }        table {            border-collapse: collapse;        }        th {            cursor: pointer;        }        td.detailsColumn {            -webkit-padding-start: 2em;            text-align: end;            white-space: nowrap;        }        a.icon {            -webkit-padding-start: 1.5em;            text-decoration: none;            user-select: auto;        }        a.icon:hover {            text-decoration: underline;        }        a.file {            background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAIAAACQkWg2AAAABnRSTlMAAAAAAABupgeRAAABHUlEQVR42o2RMW7DIBiF3498iHRJD5JKHurL+CRVBp+i2T16tTynF2gO0KSb5ZrBBl4HHDBuK/WXACH4eO9/CAAAbdvijzLGNE1TVZXfZuHg6XCAQESAZXbOKaXO57eiKG6ft9PrKQIkCQqFoIiQFBGlFIB5nvM8t9aOX2Nd18oDzjnPgCDpn/BH4zh2XZdlWVmWiUK4IgCBoFMUz9eP6zRN75cLgEQhcmTQIbl72O0f9865qLAAsURAAgKBJKEtgLXWvyjLuFsThCSstb8rBCaAQhDYWgIZ7myM+TUBjDHrHlZcbMYYk34cN0YSLcgS+wL0fe9TXDMbY33fR2AYBvyQ8L0Gk8MwREBrTfKe4TpTzwhArXWi8HI84h/1DfwI5mhxJamFAAAAAElFTkSuQmCC ") left top no-repeat;        }        a.dir {            background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAd5JREFUeNqMU79rFUEQ/vbuodFEEkzAImBpkUabFP4ldpaJhZXYm/RiZWsv/hkWFglBUyTIgyAIIfgIRjHv3r39MePM7N3LcbxAFvZ2b2bn22/mm3XMjF+HL3YW7q28YSIw8mBKoBihhhgCsoORot9d3/ywg3YowMXwNde/PzGnk2vn6PitrT+/PGeNaecg4+qNY3D43vy16A5wDDd4Aqg/ngmrjl/GoN0U5V1QquHQG3q+TPDVhVwyBffcmQGJmSVfyZk7R3SngI4JKfwDJ2+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh5++PpwatHsxSm9QRLSQpEVSd7/TYJUb49TX7gztpjjEffnoVw66+Ytovs14Yp7HaKmUXeX9rKUoMoLNW3srqI5fWn8JejrVkK0QcrkFLOgS39yoKUQe292WJ1guUHG8K2o8K00oO1BTvXoW4yasclUTgZYJY9aFNfAThX5CZRmczAV52oAPoupHhWRIUUAOoyUIlYVaAa/VbLbyiZUiyFbjQFNwiZQSGl4IDy9sO5Wrty0QLKhdZPxmgGcDo8ejn+c/6eiK9poz15Kw7Dr/vN/z6W7q++091/AQYA5mZ8GYJ9K0AAAAAASUVORK5CYII= ") left top no-repeat;        }        a.up {            background: url("data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAABAAAAAQCAYAAAAf8/9hAAAAGXRFWHRTb2Z0d2FyZQBBZG9iZSBJbWFnZVJlYWR5ccllPAAAAmlJREFUeNpsU0toU0EUPfPysx/tTxuDH9SCWhUDooIbd7oRUUTMouqi2iIoCO6lceHWhegy4EJFinWjrlQUpVm0IIoFpVDEIthm0dpikpf3ZuZ6Z94nrXhhMjM3c8895977BBHB2PznK8WPtDgyWH5q77cPH8PpdXuhpQT4ifR9u5sfJb1bmw6VivahATDrxcRZ2njfoaMv+2j7mLDn93MPiNRMvGbL18L9IpF8h9/TN+EYkMffSiOXJ5+hkD+PdqcLpICWHOHc2CC+LEyA/K+cKQMnlQHJX8wqYG3MAJy88Wa4OLDvEqAEOpJd0LxHIMdHBziowSwVlF8D6QaicK01krw/JynwcKoEwZczewroTvZirlKJs5CqQ5CG8pb57FnJUA0LYCXMX5fibd+p8LWDDemcPZbzQyjvH+Ki1TlIciElA7ghwLKV4kRZstt2sANWRjYTAGzuP2hXZFpJ/GsxgGJ0ox1aoFWsDXyyxqCs26+ydmagFN/rRjymJ1898bzGzmQE0HCZpmk5A0RFIv8Pn0WYPsiu6t/Rsj6PauVTwffTSzGAGZhUG2F06hEc9ibS7OPMNp6ErYFlKavo7MkhmTqCxZ/jwzGA9Hx82H2BZSw1NTN9Gx8ycHkajU/7M+jInsDC7DiaEmo1bNl1AMr9ASFgqVu9MCTIzoGUimXVAnnaN0PdBBDCCYbEtMk6wkpQwIG0sn0PQIUF4GsTwLSIFKNqF6DVrQq+IWVrQDxAYQC/1SsYOI4pOxKZrfifiUSbDUisif7XlpGIPufXd/uvdvZm760M0no1FZcnrzUdjw7au3vu/BVgAFLXeuTxhTXVAAAAAElFTkSuQmCC ") left top no-repeat;        }        html[dir=rtl] a {            background-position-x: right;        }        #parentDirLinkBox {            margin-bottom: 10px;            padding-bottom: 10px;        }        #listingParsingErrorBox {            border: 1px solid black;            background: #fae691;            padding: 10px;            display: none;        }        C:UsersHPDesktop共享文件 的索引    
糟糕!Google Chrome无法解读服务器所发送的数据。请报告错误,并附上原始列表
    

C:UsersHPDesktop共享文件 的索引

        

登录后复制        

                            

名称

                

                    大小                

                

                    修改日期                

                    

                    {{each files}}                             {{$value}}                                189 kB                2021/7/28 下午5:36:03                        {{/each}}            

Node代码

const http = require('http');const template = require('art-template');const fs = require('fs');const server = http.createServer();server.on('request', (req, res) => {    const url = req.url;    // 文件路径    const filePath = 'G:/pink_code/Node_Study/02';    // 获取文件路径下所有的文件名    let listName;    fs.readdir(filePath, (err, list) => {        if (!err) {            listName = list;        }    })    // 读取模板文件内容    fs.readFile('./www/template.html', (err, data) => {        if (!err) {            data = data.toString();            test = template.render(data,{                files: listName            })            res.end(test);        } else {            console.log('读取文件出错', err);        }    });})// 监听3000端口server.listen(3000, (err) => {    if (!err) {        console.log('服务器启动成功!');    }})

登录后复制

实现效果

2.png

更多编程相关知识,请访问:node!!

以上就是Nodejs中如何使用模板引擎?如何使用模板引擎渲染HTML?的详细内容,更多请关注【创想鸟】其它相关文章!

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容, 请发送邮件至253000106@qq.com举报,一经查实,本站将立刻删除。

发布者:PHP中文网,转转请注明出处:https://www.chuangxiangniao.com/p/2708988.html

(0)
上一篇 2025年3月7日 20:27:49
下一篇 2025年2月25日 17:23:36

AD推荐 黄金广告位招租... 更多推荐

相关推荐

发表回复

登录后才能评论