ejs模版引擎使用

news2024/7/6 20:46:23

ejs

  • express渲染页面需要借助ejs
  • 官网传送门
  • 使用流程
    • 安装ejs引擎
      • npm i ejs -S
    • 在app.js入口文件里面设置模版引擎和目录
          const path = require('path')
          // 设置项目里面模版存放位置
          app.set('views', path.join(__dirname, 'views'))
          // 设置模版引擎
          app.set('view engine', 'ejs')
      
    • 在项目根目录新建一个views文件夹,在里面创建ejs的模版引擎
      • 创建一个home.ejs的文件
          <!DOCTYPE html>
          <html lang="en">
          <head>
              <meta charset="UTF-8">
              <meta http-equiv="X-UA-Compatible" content="IE=edge">
              <meta name="viewport" content="width=device-width, initial-scale=1.0">
              <title>Document</title>
          </head>
          <body>
              <h1>首页</h1>
          </body>
          </html>
      
    • 新建一个路由文件home.js,用来创建路由访问home.ejs模板
          const express = require('express')
          const router = express.Router()
          router.get('/', (req,res)=>{
              res.render('home');
          })
          module.exports = router
      
    • 在app.js导入使用这个路由
          const homeRouter = require('./home')
          app.use('/home', homeRouter)
      
    • 打开浏览器访问路由
  • ejs动态渲染数据
    • 在views里面创建一个list.ejs模版
        <!DOCTYPE html>
        <html lang="en">
        <head>
            <meta charset="UTF-8">
            <meta http-equiv="X-UA-Compatible" content="IE=edge">
            <meta name="viewport" content="width=device-width, initial-scale=1.0">
            <title>Document</title>
        </head>
        <body>
            <h1>列表</h1>
            <ul>
                <% userList.forEach(function(item){ %>
                <li><%= item.name %></li>
                <% }); %>
            </ul>
        </body>
        </html>
    
    • 新建一个路由文件list.js,用来访问list.ejs
          const express = require('express')
          const router = express.Router()
      
          router.get('/', (req,res)=>{
              const userList = [
                  {name: '张三'},
                  {name: '李四'},
                  {name: '王五'},
              ]
              res.render('list', {userList});
          })
      
          module.exports = router
      
    • 在app.js引入list路由
          const listRouter = require('./list')
          app.use('/list', listRouter)
      
    • 在浏览器访问效果如下
    • 查看源代码如下

      .(img-M1danAmN-1710124207594)]
    • 查看源代码如下
      [外链图片转存中…(img-To7VEYqG-1710124207594)]

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

重学SpringBoot3-路径匹配机制

重学SpringBoot3-路径匹配机制 AntPathMatcherPathPatternParser 和 PathPattern演示AntPathMatcher 示例PathPattern 示例性能和精确度的提升 选择使用哪一种 在 Spring Framework 5.3 及 Spring Boot 2.4 之后&#xff0c;引入了一种新的路径匹配机制&#xff0c;这一变化在 …

Buildroot 之一 详解源码及架构

在之前的博文中,我们学习了直接通过 Makefile 手动来进行构建 U-Boot 和 Linux Kernel 等,其实,目前存在多种嵌入式 Linux 环境的构建工具,其中,Buildroot 就是被广泛应用的一种。今天就来详细学习一个 Buildroot 这个自动化构建工具。 Buildroot Buildroot 是一个运行于…

福派斯课堂:怎样选择品质比较好的猫粮?

亲爱的猫友们&#xff0c;我们都知道&#xff0c;猫咪的健康离不开好的饮食&#xff0c;而猫粮作为它们日常的主食&#xff0c;选择一款品质优良的猫粮就显得尤为重要了。那么&#xff0c;如何选择品质比较好的猫粮呢&#xff1f;今天&#xff0c;就让我来给大家支支招吧&#…

PaddlePaddle框架安装

提示&#xff1a;可在python环境中进行安装&#xff0c;避免环境污染&#xff0c;创建命令conda create -n xxx_name python3.9,激活conda activate xxx_name 第一步&#xff1a;查看计算机平台版本 在窗口输入查看命令&#xff0c;查看CUDA的版本 nvidia-smi 二、根据以下条件…

Redis主从架构和管道Lua(一)

Redis主从架构 架构 Redis主从工作原理 如果为master配置了一个slave,不管这个slave是否是第一次连接上Master,它都会发送一个PSYNC命令给master请求复制数据。master受到PSYNC命令&#xff0c;会在后台进行数据持久化通过bgsave生成最新的 RDB快照文件&#xff0c;持久化期间…

Linux之线程控制

目录 一、POSIX线程库 二、线程的创建 三、线程等待 四、线程终止 五、分离线程 六、线程ID&#xff1a;pthread_t 1、获取线程ID 2、pthread_t 七、线程局部存储&#xff1a;__thread 一、POSIX线程库 由于Linux下的线程并没有独立特有的结构&#xff0c;所以Linux并…

[Mac软件]Adobe Illustrator 2024 28.3 intel/M1/M2/M3矢量图制作软件

应用介绍 Adobe Illustrator 是行业标准的矢量图形应用程序&#xff0c;可以为印刷、网络、视频和移动设备创建logos、图标、绘图、排版和插图。数以百万计的设计师和艺术家使用Illustrator CC创作&#xff0c;从网页图标和产品包装到书籍插图和广告牌。 绘制任意大小的标志 拥…

C++进阶之路---多态(一)

顾得泉&#xff1a;个人主页 个人专栏&#xff1a;《Linux操作系统》 《C从入门到精通》 《LeedCode刷题》 键盘敲烂&#xff0c;年薪百万&#xff01; 一、多态的概念 1.概念 多态的概念&#xff1a;通俗来说&#xff0c;就是多种形态&#xff0c;具体点就是去完成某个行为…

[gic]-linux和optee的中断处理流程举例(gicv3举例)

目录 环境配置:说明:举例1、当cpu处于REE&#xff0c;来了一个非安全中断2、当cpu处于TEE&#xff0c;来了一个安全中断3、当cpu处于TEE&#xff0c;来了一个非安全中断4、当cpu处于REE&#xff0c;来了一个安全中断答疑 推荐 本文转自 周贺贺&#xff0c;baron&#xff0c;代码…

ROS2从入门到精通0-2:ROS2简介、对比ROS1与详细安装流程

目录 0 专栏介绍1 什么是机器人操作系统&#xff1f;2 ROS的发展历程3 ROS2与ROS1的区别4 ROS2安装4.1 基本安装4.2 测试ROS24.2.1 测试一&#xff1a;发布者与订阅者4.2.2 测试二&#xff1a;海龟仿真器 5 常见问题 0 专栏介绍 本专栏旨在通过对ROS2的系统学习&#xff0c;掌…

凌鲨开发容器架构

开发容器是基于docker的快速开发搭建方案&#xff0c;在开发容器里面集成了asdf包管理系统和code server ide服务。 这个项目是开源的。 开发容器启动流程 #mermaid-svg-VJYq3izhUZRJA4Eq {font-family:"trebuchet ms",verdana,arial,sans-serif;font-size:16px;fil…

java之mybatis

准备工作 上面4步骤 XML映射文件 动态SQL

git分布式管理-头歌实验冲突处理、忽略文件

一、解决冲突 任务描述 在团队协作开发过程中&#xff0c;可能你和团队中的其他成员&#xff0c;都修改了某个文件的某一部分内容&#xff0c;且其他成员已将该修改推送到了远程仓库。这样当你需要合并他的代码的时候&#xff0c;可能就会在内容上出现冲突&#xff0c;这个时候…

vue之性能优化

1.路由懒加载 所谓路由懒加载&#xff0c;其实就是路由通过import动态引入&#xff0c;而不是在文件最上面一个个全部引入&#xff0c;因为JS执行的时候会优先执行引入的文件&#xff0c;如果一次性引入过多&#xff0c;则会增加处理时长。 2.图片懒加载 图片在网页加载过程…

【CSS】简单的抽屉面板展开收起自然过渡效果的css

目录 效果展示css固定梯形按钮至抽屉面板中间梯形按钮css过渡动画 效果展示 1.收起时点击蓝色梯形按钮展开 2. 展开时点击蓝色按钮收起 3.展开收起时需要过渡自然&#xff0c;有抽屉推拉效果 css 固定梯形按钮至抽屉面板中间 .toggle{ position: absolute;left:-21px;top…

okcc呼叫中心的客服代表应该具备哪些条件?

对每个企业管理者来说&#xff0c;选择最高效和最理想的呼叫中心提供商来简化他们的客户服务操作是一项关键工作内容。除了要确保提供商拥有处理这一重要任务所需的技术和资源之外&#xff0c;确定他们是否具备最高质量的合适人员来执行这项任务同样很重要。 客户服务代表是每…

管理 PostgreSQL 中配置参数的各种方法

管理 PostgreSQL 中配置参数的各种方法 1. 概述 PostgreSQL提供了一个配置文件 postgresql.conf 让用户自定义参数。您可能需要更改一些参数来调整性能或在工作环境中部署 PostgreSQL 服务器。在这篇博文中&#xff0c;我们将探索管理这些参数的不同方法。 2. 以不同方式管理…

mysql的索引、事务、分库分表问题

1.了解MySQL的索引吗&#xff1f;它为什么使用Btree作为底层&#xff0c;而不是其他呢&#xff1f; 这里我们要谈的是其他数据结构的缺点&#xff0c;然后说说Btree的优点&#xff0c;也就看你对MySQL的Btree与其他数据结构熟不熟悉。 Hash &#xff08;1&#xff09;Hash 索引…

Django高级之-缓存

Django高级之-缓存 一 缓存介绍 在动态网站中,用户所有的请求,服务器都会去数据库中进行相应的增,删,查,改,渲染模板,执行业务逻辑,最后生成用户看到的页面. 当一个网站的用户访问量很大的时候,每一次的的后台操作,都会消耗很多的服务端资源,所以必须使用缓存来减轻后端服务…

解决QT cc1plus.exe: error: out of memory allocating

QT中增加资源文件过大时&#xff0c;会编译不过&#xff0c;报错&#xff1a; cc1plus.exe: out of memory allocating 1073745919 bytes 使用qrc资源文件&#xff0c;也就是在QT的工程中添加资源文件&#xff0c;就是添加的资源文件&#xff08;如qrc.cpp&#xff09;会直接被…