第九章认识Express模板

基本概述

Express模板是指Express框架中用于渲染视图的文件,可以包含HTML、CSS、JavaScript等内容,用于构建Web应用程序的用户界面。

使用Express模板可以快速、方便地创建Web应用程序,并且可以轻松地将动态数据注入到模板中,以便于动态地呈现信息给用户。常见的Express模板引擎包括EJS、Pug、Handlebars等。

基本分类

Express模板可以分为静态模板和动态模板两种。

  1. 静态模板:预先定义好的HTML文件,可以通过路由来直接呈现给用户。

  2. 动态模板:通过特定的模板引擎来生成动态内容,可以根据业务逻辑、用户信息等动态生成HTML。

在Express中常用的模板引擎有:

  1. 基于HTML的模板引擎,如Mustache、Handlebars等;

  2. 基于JavaScript的模板引擎,如EJS、Underscore.js等;

  3. 基于CSS的模板引擎,如LESS、SASS等;

  4. 小而精的模板引擎,如Nunjucks、Swig等。

使用步骤(espresso-art-template引擎模板)

第一、在D盘中新建一个文件,例如D:\code\chapter04\server,以此形成目录,方便管理,然后执行模板安装命令,如下:

npm install art-template express-art-template  --sava

解释:安装art-templateexpress-art-template这两个npm包,并将它们添加到项目的依(dependencies)中。

其中,art-template是一个轻量、高性能的javascript模板引擎。

express-art-template是基于art-template的express框架的模板引擎。

--save参数使得这些依赖被添加到项目的package.json文件中,以方便项目的部署和维护

第二、在server目录中新建art.js文件,编写代码,实现模板引擎如下:

const express = require('express'); //引入express框架模块,并将其赋值给常量express
const path = require('path')  //引入path模块,并将其赋值给常量path
const app = express();  //创建一个express实例,并将其赋值给常量app

//配置模板引擎
app.engine('art', require('express-art-template')); //注册art-template模板引擎为art文件的渲染引擎
app.set('views', path.join(__dirname, 'views')); //设置存放视图文件(即模板文件)的目录为views目录,使用了path.join()方法连接__dirname和views目录路径。
app.set('view engine', 'art'); //设置默认的模板文件后缀名为art
app.listen(3000); //启动express服务器,监听3000端口

console.log('服务器启动成功');
//请访问http://localhost:3000/art

第三,成功配置模板完后,在例如D:\code\chapter04\server目录下新建views目录,然后再views目录新建index.art模板文件,编写代码,实现msg信息渲染。如下:

{{ msg }}

上述代码通过“{{ }}”语法输出msg变量

第四、打开编写好的art.js文件,再第7行代码后添加如下代码:

app.get('/art', (req, res) => {
    //渲染模板
    res.render('index', {
        msg: 'message'
    });
});

第五、打开命令行工具,切换到server目录下,执行命令如下:

node art.js

第六、打开浏览器地址栏中输入http://localhost:3000/art即可看到模板渲染成功

最终结果如下

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/152430.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

印染污水处理设备有哪些分类

印染污水处理设备有多种分类方法。根据处理方法,可以分为物理法、化学法、生物法等。 物理法处理设备主要包括格栅、沉淀池、过滤器等,利用物理分离、去除的原理,将污水中的悬浮物和沉淀物去除。化学法处理设备主要包括混凝和氧化等&#xf…

Abaqus 2023有哪些新功能?

Fe-safe/Isight/Tosca2022新功能 近日,达索3ds官网发布了Abaqus 2023的最新消息,在接下来的数周内,SIMULIA套件GA版将正式与大家见面。 据悉,Abaqus 2023整合了该级别的最新功能和上一个级别的前四个补丁版的新增/增强功能&#…

安防监控展示预约小程序的作用如何

监控在生活中的用途非常广泛,普遍应用于小区门户、商业大厦、产业基地、家庭、汽车等场景中,市场需求较大,同时随着科技发展,安防监控产品更新迭代也比较快,衍生出的经销店、安装技术工等产业近些年也比较火。 安防监…

Elasticsearch搜索分析引擎本地部署与远程访问

文章目录 系统环境1. Windows 安装Elasticsearch2. 本地访问Elasticsearch3. Windows 安装 Cpolar4. 创建Elasticsearch公网访问地址5. 远程访问Elasticsearch6. 设置固定二级子域名 Elasticsearch是一个基于Lucene库的分布式搜索和分析引擎,它提供了一个分布式、多…

中移链共识机制介绍

01 为什么需要共识 共识是对某事达成的共同看法,它是区块链的灵魂,对确保区块链的完整性和安全性起着至关重要的作用。在传统的集中式系统中,单个实体或一组实体有权验证和记录交易。然而,区块链中的一个核心概念是去中心化&…

LeetCode - 160. 相交链表(C语言,配图)

思路: 1. 我们算出两个链表的长度lenA,lenB。我们在这里最后判断一下,两个链表的尾节点是否是一样的,如果是相交链表,那它们的尾节点一定是一样的。 2. 算出长链表和短链表的差距n(n | lenA- lenB |&#…

年产200万件的超级工厂投产!巨头「闭环」汽车电子全产业链

随着汽车电动化程度的提升,汽车电子部件占整车成本比重逐步升高,已经从2012年的25%上升到2021年的55%。 且汽车电子电气架构向整车集中演进,智能汽车已经进入了软件及数据定义时代,底层硬件打破了过去几十年围绕特定应用不断增加…

MySQL5.7和MySQL8对比分析

✅作者简介:大家好,我是Leo,热爱Java后端开发者,一个想要与大家共同进步的男人😉😉 🍎个人主页:Leo的博客 💞当前专栏: MySQL学习 ✨特色专栏: My…

使用CycleGAN训练自己的数据集

一、下载源码 源码下载链接:https://github.com/junyanz/pytorch-CycleGAN-and-pix2pix 二、调整自己的数据集格式 按照如下格式放 三、安装好所需要的python包 使用命令:pip install 包名称 在anaconda里面安装, 四、训练和测试 在开始训…

【算法】最短路径——弗洛伊德 (Floyd) 算法

目录 1.概述2.代码实现3.扩展3.应用 1.概述 (1)弗洛伊德 (Floyd) 算法又称为插点法,是一种利用动态规划的思想寻找给定的加权图中多源点之间最短路径的算法,与 Dijkstra 算法类似。该算法名称以创始人之一、1978 年图灵奖获得者、…

应用在智能照明系统中的LED防蓝光灯珠

智能照明系统是利用电磁调压及电子感应技术,对供电进行实时监控与跟踪,自动平滑地调节电路的电压和电流幅度,改善照明电路中不平衡负荷所带来的额外功耗,提高功率因数,降低灯具和线路的工作温度,达到优化供…

到手价的低价监测怎么做到

品牌在做数据监测时,要考虑是否是到手价的监测,如果只是监测页面价的低价,真实情况是会漏掉很多的低价数据,如果是做经销商的低价监测工作,这样的监测方式下的数据会降低品牌对渠道的掌控力,因为监测的不是…

PPP协议_基础知识

ppp协议 点对点协议PPP(Point-to-Point Protocol)是目前使用最广泛的点对点数据链路层协议。 一.ppp协议的组成 PPP协议为在点对点链路传输各种协议数据报提供了一个标准方法,主要由以下三部分构成: 对各种协议数据报的封装方法(封装成帧)链路控制协议LCP    …

揭秘2023年最热门的跨境电商源码趋势,你不能错过的关键信息

随着全球市场的不断扩大和国际贸易的加速,跨境电商源码正成为越来越多企业的首选。在本文中,我们将揭秘2023年跨境电商源码的最新趋势,为您带来关键信息,帮助您抓住机遇,实现商业成功。 2023年跨境电商源码趋势解析 …

JS-项目实战-鼠标悬浮设置字体颜色以及控制键盘输入

1、fruit.js //当页面加载完成后执行后面的匿名函数 window.onload function () {//get:获取 Element:元素 By:通过...方式//getElementById()根据id值获取某元素let fruitTbl document.getElementById("fruit_tbl");//table.rows:获取这个表格的所有的行&a…

Go 使用Viper处理Go应用程序的配置

在开发Go应用程序时,处理配置是一个常见的需求。配置可能来自于配置文件、环境变量、命令行参数等等。Viper是一个强大的库,可以帮助我们处理这些配置。 什么是Viper? Viper是一个应用程序配置解决方案,用于Go应用程序。它支持JS…

推介会如何做好媒体宣传

传媒如春雨,润物细无声,大家好,我是51媒体网胡老师。 推介会是一种专为企业、社会组织和团体、政府等提供的展示自身特点、产品和政策的活动形式,旨在促进交流活动,形成合作,从而带来共同利益。推介会的本…

ffmpeg 4.4 cenc-aes-ctr 加解密 MP4 工程性质分析

目录 一、cenc-aes-ctr 原理介绍 二、显式 cenc-aes-ctr 和隐式 cenc-aes-ctr 三、加密工具---ffmpeg 四、播放---ffplay 五、总结 ​​​​​​​一、cenc-aes-ctr 原理介绍 加密算法:CENC-AES-CTR 使用 AES(Advanced Encryption Standard&…

微服务架构学习与思考

参考:微服务架构学习与思考(01):什么是微服务?微服务的优势和劣势 - 九卷 - 博客园 (cnblogs.com) 一、单体应用 在软件开发早期阶段,大家都在一个应用系统上开发。各个业务模块之间耦合也比较紧密。软件发布也是整体发布&#…

实验室LIMS系统 asp.net源码 lims系统源码

LIMS系统是以实验室为中心,将人员、仪器、试剂、方法、环境、文件等影响分析数据的因素有机结合,针对实验室的要求,遵循ISO 17025准则,采用先进的计算机网络技术、数据存储技术、快速和强大的数据处理技术来对实验室进行全面管理的…