【 Node 】EJS模板引擎

2024-04-28 21:08
文章标签 模板 引擎 node ejs

本文主要是介绍【 Node 】EJS模板引擎,希望对大家解决编程问题提供一定的参考价值,需要的开发者们随着小编来一起学习吧!

简介

高效的嵌入式 JavaScript 模板引擎。

安装

npm install ejs

配置视图引擎

app.set('view engine', 'ejs')

基本使用

	// 引入express框架
const express = require('express')
// 实例化express对象
const app = express()// 配置视图引擎 ('默认格式','模板引擎')
app.set('view engine', 'ejs')// res.send('传输纯文本信息')// res.sendFile('传输文件')// 渲染ejs模板引擎 res.render('<ejs文件名>',配置一些对象方便后面取值)// res.render('profile', { name: "EJS" })// 根据请求地址返回对应的数据
app.get('/', (req, res) => {console.log(req.url);res.sendFile(__dirname + '/public/index.html')
})app.get('/about', (req, res) => {res.sendFile(__dirname + '/public/about.html')
})app.get('/contact', (req, res) => {res.sendFile(__dirname + '/public/contact.html')
})// 路由参数 /xxx/:<自定义>
app.get('/profile/:id', (req, res) => {// res.send('您所访问的路由参数为:' + req.params.id)// 渲染ejs模板引擎res.render('profile', {name: "EJS"})
})// 监听端口
app.listen(5000)
console.log(__dirname); // D:\Study\Node

EJS使用

// 渲染ejs模板引擎
res.render('profile', {websiteName: req.params.id,data: data
})
// 数据和显示数据代码如下所示
  • 单个数据对象
var data = {name:"EJS"
}<ul><li>姓名:<%= data.name %></li>
</ul>

在这里插入图片描述

  • 多个数据对象

var data = [{name: 'Bucky',age: 25},{name: 'Ketty',age: 26}, {name: 'Henry',age: 27}
]<ul>// 逻辑处理部分 不需要设置等号<% data.forEach(item=>{%><li>姓名:<%= item.name%></li><li>年龄: <%= item.age%></li><% }) %>
</ul>

在这里插入图片描述

  • 对象嵌套
var data = [{name: ['Bucky', 'Summer', 'God', 'Bongo'],age: 25},{name: ['Ketty', 'John', 'Today'],age: 26}, {name: ['Henry', 'Sun'],age: 27}
]<ul><% data.forEach(item=>{%>// 第一次循环 获取的是全部的name数组里面的名字<li>姓名:<%= item.name%></li>// 对name里面的数组进行循环 items就是获得的单个的数组元素name<% item.name.forEach(items=>{%><li>姓名:<%=items%></li><% })%><li>年龄:<%=item.age%></li><% })%>
</ul>

在这里插入图片描述

这篇关于【 Node 】EJS模板引擎的文章就介绍到这儿,希望我们推荐的文章对编程师们有所帮助!



http://www.chinasem.cn/article/944270

相关文章

MySQL之InnoDB存储引擎中的索引用法及说明

《MySQL之InnoDB存储引擎中的索引用法及说明》:本文主要介绍MySQL之InnoDB存储引擎中的索引用法及说明,具有很好的参考价值,希望对大家有所帮助,如有错误或未考虑完全的地方,望不吝赐... 目录1、背景2、准备3、正篇【1】存储用户记录的数据页【2】存储目录项记录的数据页【3】聚簇索引【4】二

SpringBoot集成LiteFlow工作流引擎的完整指南

《SpringBoot集成LiteFlow工作流引擎的完整指南》LiteFlow作为一款国产轻量级规则引擎/流程引擎,以其零学习成本、高可扩展性和极致性能成为微服务架构下的理想选择,本文将详细讲解Sp... 目录一、LiteFlow核心优势二、SpringBoot集成实战三、高级特性应用1. 异步并行执行2

LiteFlow轻量级工作流引擎使用示例详解

《LiteFlow轻量级工作流引擎使用示例详解》:本文主要介绍LiteFlow是一个灵活、简洁且轻量的工作流引擎,适合用于中小型项目和微服务架构中的流程编排,本文给大家介绍LiteFlow轻量级工... 目录1. LiteFlow 主要特点2. 工作流定义方式3. LiteFlow 流程示例4. LiteF

SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程

《SpringBoot集成LiteFlow实现轻量级工作流引擎的详细过程》LiteFlow是一款专注于逻辑驱动流程编排的轻量级框架,它以组件化方式快速构建和执行业务流程,有效解耦复杂业务逻辑,下面给大... 目录一、基础概念1.1 组件(Component)1.2 规则(Rule)1.3 上下文(Conte

Python基于微信OCR引擎实现高效图片文字识别

《Python基于微信OCR引擎实现高效图片文字识别》这篇文章主要为大家详细介绍了一款基于微信OCR引擎的图片文字识别桌面应用开发全过程,可以实现从图片拖拽识别到文字提取,感兴趣的小伙伴可以跟随小编一... 目录一、项目概述1.1 开发背景1.2 技术选型1.3 核心优势二、功能详解2.1 核心功能模块2.

MySQL 存储引擎 MyISAM详解(最新推荐)

《MySQL存储引擎MyISAM详解(最新推荐)》使用MyISAM存储引擎的表占用空间很小,但是由于使用表级锁定,所以限制了读/写操作的性能,通常用于中小型的Web应用和数据仓库配置中的只读或主要... 目录mysql 5.5 之前默认的存储引擎️‍一、MyISAM 存储引擎的特性️‍二、MyISAM 的主

Java如何根据word模板导出数据

《Java如何根据word模板导出数据》这篇文章主要为大家详细介绍了Java如何实现根据word模板导出数据,文中的示例代码讲解详细,感兴趣的小伙伴可以跟随小编一起学习一下... pom.XML文件导入依赖 <dependency> <groupId>cn.afterturn</groupId>

VSCode中配置node.js的实现示例

《VSCode中配置node.js的实现示例》本文主要介绍了VSCode中配置node.js的实现示例,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着... 目录一.node.js下载安装教程二.配置npm三.配置环境变量四.VSCode配置五.心得一.no

Python中Flask模板的使用与高级技巧详解

《Python中Flask模板的使用与高级技巧详解》在Web开发中,直接将HTML代码写在Python文件中会导致诸多问题,Flask内置了Jinja2模板引擎,完美解决了这些问题,下面我们就来看看F... 目录一、模板渲染基础1.1 为什么需要模板引擎1.2 第一个模板渲染示例1.3 模板渲染原理二、模板

利用Python打造一个Excel记账模板

《利用Python打造一个Excel记账模板》这篇文章主要为大家详细介绍了如何使用Python打造一个超实用的Excel记账模板,可以帮助大家高效管理财务,迈向财富自由之路,感兴趣的小伙伴快跟随小编一... 目录设置预算百分比超支标红预警记账模板功能介绍基础记账预算管理可视化分析摸鱼时间理财法碎片时间利用财