广告
返回顶部
首页 > 资讯 > 前端开发 > VUE >Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML
  • 181
分享到

Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML

2024-04-02 19:04:59 181人浏览 泡泡鱼
摘要

这篇文章给大家分享的是有关nodejs中怎么使用模板引擎以及使用模板引擎渲染html的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用readdir获取指定路径下的所有文件名文件

这篇文章给大家分享的是有关nodejs中怎么使用模板引擎以及使用模板引擎渲染html的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。

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

文件结构

Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML

实现代码

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

<script src="./node_modules/art-template/lib/template-WEB.js"></script>

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

<script src="./node_modules/art-template/lib/template-web.js"></script>
<script type='text/template' id = 'tpl'>
    这是{{name}}
</script>

<script>
    const test = template('tpl',{
        name: 'China'
    });
    console.log(test);
</script>

在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结构

<html dir="ltr">

<head>
    <meta charset="utf-8">
    <meta name="Google" value="notranslate">

    <style>
        h2 {
            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/BH4zh3XZdlWVmWiUK4IgCBoFMUz9eP6zRN75cLgEQhcmTQIbl72O0f9865qLAAsURAAgKBJKEtgLXWvyjLuFsThCSStb8rBCaAQhDYWgIZ7myM+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+05zIg8gbiereTZRHhJ5KCMOwDFLjhoBTn2g0ghagfKeIYJDPFyibJVBtTREwq60SpYvh6++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;
        }
    </style>

    <title id="title">C:\Users\HP\Desktop\共享文件\ 的索引</title>

</head>

<body>

    <div id="listingParsingErrorBox">糟糕!Google Chrome无法解读服务器所发送的数据。请<a
            href="http://code.google.com/p/chromium/issues/entry">报告错误</a>,并附上<a href="LOCATION">原始列表</a>。</div>

    <h2 id="header">C:\Users\HP\Desktop\共享文件\ 的索引</h2>

    <div id="parentDirLinkBox" style="display: block;">
        <a id="parentDirLink" class="icon up" href="/C:/Users/HP/Desktop/%E5%85%B1%E4%BA%AB%E6%96%87%E4%BB%B6/..">
            <span id="parentDirText">[上级目录]</span>
        </a>
    </div>

    <table>
        <thead>
            <tr id="theader">
                <th id="nameColumnHeader" tabindex="0" role="button">名称</th>
                <th id="sizeColumnHeader" tabindex="0" role="button">
                    大小
                </th>
                <th id="dateColumnHeader" tabindex="0" role="button">
                    修改日期
                </th>
            </tr>
        </thead>
        <tbody id="tbody">
            {{each files}} 
            <tr>
                <td data-value="{{$value}}"><a class="icon file" draggable="true" href="{{$value}}">{{$value}}</a>
                </td>
                <td data-value="193955">189 kB</td>
                <td data-value="1627464963">2021/7/28 下午5:36:03</td>
            </tr>
            {{/each}}
        </tbody>
    </table>

</body>

</html>

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('服务器启动成功!');
    }
})

实现效果

Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML

感谢各位的阅读!关于“Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!

--结束END--

本文标题: Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML

本文链接: https://www.lsjlt.com/news/78004.html(转载时请注明来源链接)

有问题或投稿请发送至: 邮箱/279061341@qq.com    QQ/279061341

本篇文章演示代码以及资料文档资料下载

下载Word文档到电脑,方便收藏和打印~

下载Word文档
猜你喜欢
  • Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML
    这篇文章给大家分享的是有关Nodejs中怎么使用模板引擎以及使用模板引擎渲染HTML的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。使用readdir获取指定路径下的所有文件名文件...
    99+
    2022-10-19
  • Thymeleaf模板引擎怎么使用
    今天小编给大家分享一下Thymeleaf模板引擎怎么使用的相关知识点,内容详细,逻辑清晰,相信大部分人都还太了解这方面的知识,所以分享这篇文章给大家参考一下,希望大家阅读完这篇文章后有所收获,下面我们一起来...
    99+
    2022-10-19
  • nodejs模板引擎有什么作用
    这篇文章主要讲解了“nodejs模板引擎有什么作用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“nodejs模板引擎有什么作用”吧! ...
    99+
    2022-10-19
  • C#中Razor模板引擎怎么使用
    这篇文章主要讲解了“C#中Razor模板引擎怎么使用”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“C#中Razor模板引擎怎么使用”吧!使用视图引擎可以完成一些需要定制化内容格式的问题,比如...
    99+
    2023-06-29
  • Thinkphp 6 使用thinkTemplate 模板引擎
    使用thinkTemplate 模板引擎 由于Thinkphp 5.1 之前的版本 已经将Think-view 拓展 集成到 vendor 中 Tp6 将大部分转为拓展使用 新版框架默认只能支持PHP...
    99+
    2023-09-03
    php 开发语言
  • 如何在PHP中使用模板引擎?
    随着网站的不断发展,许多开发人员开始使用模板引擎来更方便地管理和呈现网站内容。PHP作为一种非常流行的网站开发语言,也提供了许多模板引擎供开发者选择,例如Smarty、Twig和Blade等。在本篇文章中,我们将介绍如何在PHP中使用模板引...
    99+
    2023-05-14
    使用 PHP 模板引擎
  • C#中Razor模板引擎简单使用
    目录引用使用Razor模板引擎语法1、简介:2、原理:3、语法规则:使用视图引擎可以完成一些需要定制化内容格式的问题,比如邮件模板。 引用 install-package Razor...
    99+
    2022-11-13
  • flask中模板引擎的使用方法
    小编给大家分享一下flask中模板引擎的使用方法,相信大部分人都还不怎么了解,因此分享这篇文章给大家参考一下,希望大家阅读完这篇文章后大有收获,下面让我们一起去了解一下吧!在我们对flask的一些引擎使用时,就不得不提到其中的一个默认引擎了...
    99+
    2023-06-14
  • 如何使用Spring Boot thymeleaf模板引擎
    本篇内容主要讲解“如何使用Spring Boot thymeleaf模板引擎”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“如何使用Spring Boot thymeleaf模板引擎”吧!在早期开...
    99+
    2023-06-07
  • 解读thymeleaf模板引擎中th:if的使用
    目录thymeleaf模板引擎中th:if的使用th:if 条件判断th:if 判断表达式Thymeleaf模板引擎语法使用1、模板引擎thymeleaf使用2、ognl表达式的语法...
    99+
    2022-11-13
    thymeleaf模板引擎 th:if的使用 thymeleaf模板
  • node.js 使用ejs模板引擎时后缀换成.html
    这是一个小技巧,看着.ejs的后缀总觉得不爽,使用如下方法,可以将模板文件的后缀换成我们习惯的.html。 1.在app.js的头上定义ejs: var ejs = require('ejs'); 2....
    99+
    2022-06-04
    后缀 模板 引擎
  • spring Boot怎么与Thymeleaf模板引擎结合使用
    这篇文章给大家介绍spring Boot怎么与Thymeleaf模板引擎结合使用,内容非常详细,感兴趣的小伙伴们可以参考借鉴,希望对大家能有所帮助。Thymeleaf:Thymeleaf是一个java类库,他是一个xml/xhtml/htm...
    99+
    2023-05-31
    springboot thymeleaf
  • SpringBoot自带模板引擎Thymeleaf使用详解②
    目录 一、条件判断和迭代遍历 1.1 条件判断 2.2 迭代遍历 二、获取域中的数据和URL写法 2.1 获取域中的数据 2.2 URL写法 三、相关配置 一、条件判断和迭代遍历 1.1 条件判断 语法 作用 th:if 条件判断 准...
    99+
    2023-10-21
    spring boot 后端 java thymeleaf 原力计划
  • 怎么用JavaScript实现一个模板引擎
    这篇文章给大家分享的是有关怎么用JavaScript实现一个模板引擎的内容。小编觉得挺实用的,因此分享给大家做个参考,一起跟随小编过来看看吧。功能分析一个模板引擎,在我看来,就是由两块核心功能组成,一个是用...
    99+
    2022-10-19
  • 怎么用JavaScript写一款EJS模板引擎
    本篇内容介绍了“怎么用JavaScript写一款EJS模板引擎”的有关知识,在实际案例的操作过程中,不少人都会遇到这样的困境,接下来就让小编带领大家学习一下如何处理这些情况吧!希望大家仔细阅读,能够学有所成!1. 起因部门最近的一次分享中,...
    99+
    2023-06-29
  • 详解在express站点中使用ejs模板引擎
    使用 vs创建的express站点,默认使用的是jade模板引擎,但是我不太喜欢这种方式,因为我觉得html本身的语义特性是我喜欢的,另外html本身也足够简洁,使用html自身做为模板语言更符合我的喜好,...
    99+
    2022-06-04
    详解 模板 站点
  • 怎么用javascript写一个页面模板引擎
    本篇内容主要讲解“怎么用javascript写一个页面模板引擎”,感兴趣的朋友不妨来看看。本文介绍的方法操作简单快捷,实用性强。下面就让小编来带大家学习“怎么用javascript写一个页面模板引擎”吧!最...
    99+
    2022-10-19
  • 教你使用PHP实现一个轻量级HTML模板引擎
    🏆作者简介,黑夜开发者,全栈领域新星创作者✌,2023年6月csdn上海赛道top4。多年电商行业从业经验,对系统架构,数据分析处理等大规模应用场景有丰富经验。 🏆本文已收录于PHP专栏:PHP进阶实战...
    99+
    2023-08-16
    php html 模板引擎
  • node模板引擎Jade的安装和使用方法
    这篇文章主要讲解了“node模板引擎Jade的安装和使用方法”,文中的讲解内容简单清晰,易于学习与理解,下面请大家跟着小编的思路慢慢深入,一起来研究和学习“node模板引擎Jade的安装和使用方法”吧!随着...
    99+
    2022-10-19
  • 如何进行Web中前后端模板引擎的使用
    这期内容当中小编将会给大家带来有关如何进行Web中前后端模板引擎的使用,文章内容丰富且以专业的角度为大家分析和叙述,阅读完这篇文章希望大家可以有所收获。前言这篇文章本来不打算写的,实话说楼主对前端模板的认识...
    99+
    2022-10-19
软考高级职称资格查询
推荐阅读
编程网,编程工程师的家园,是目前国内优秀的开源技术社区之一,形成了由开源软件库、代码分享、资讯、协作翻译、讨论区和博客等几大频道内容,为IT开发者提供了一个发现、使用、并交流开源技术的平台。
  • 官方手机版

  • 微信公众号

  • 商务合作