nodejs(8) 使用ejs渲染动态页面
使用ejs渲染动态页面
步骤:
安装 ejs 模板引擎
npm i ejs -S使用 app.set() 配置默认的模板引擎
app.set('view engine', 'ejs')使用 app.set() 配置默认模板页面的存放路径
app.set('views', './views')使用 res.render() 来渲染模板页面
res.render('index.ejs', { 要渲染的数据对象 }),注意,模板页面的 后缀名,可以省略不写

注意后缀名
js文件
// 导入模块
const express = require('express')
// 创建服务器
const app = express()
// 渲染静态页面 res.readFile app.use(express.static(''))
// 配置项目中默认的模板引擎,为 ejs
app.set('view engine', 'ejs')
// 配置模板页面的存放路径
app.set('views', './views')
app.get('/', (req, res) => {
// 只有先配置了 app.set('view engine', 'ejs') 和 app.set('views', './views'),才能使用
// res.render的时候,第一个参数为要渲染页面的名称,这个页面是相对于app.set('views', './views')的存放路径来查找的,这个第二个参数为要渲染的数据。
res.render('index.ejs', {
name: 'houfee',
age: 24,
gender: '男',
hobby: ['唱歌', '跳舞', '吃饭'],
desc: '<h1>这是html代码</h1>'
})
})
// 启动服务器
app.listen(4444, () => {
console.log('express server running at http://127.0.0.1:4444')
})
index.ejs
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<title>首页</title>
</head>
<body>
<h1>views</h1>
<p>姓名: <%= name%></p>
<p>年龄: <%= age%></p>
<p>性别: <%= gender%></p>
<div>
爱好:
<% hobby.forEach(item => { %>
<span><%= item %></span>
<% }) %>
</div>
<p>文字: <%- desc%></p>
</body>
</html>
效果:

nodejs(8) 使用ejs渲染动态页面的更多相关文章
- nodejs(9)使用arttemplate渲染动态页面
使用arttemplate渲染动态页面 安装 两个包 npm i art-template express-art-template -S 自定义一个模板引擎 app.engine('自定义模板引擎的 ...
- nodejs之获取客户端真实的ip地址+动态页面中引用静态路径下的文件及图片等内容
1.nodejs获取客户端真实的IP地址: 在一般的管理网站中,尝尝会需要将用户的一些操作记录下来,并记住是哪个用户进行操作的,这时需要用户的ip地址,但是往往当这些应用部署在服务器上后,都使用了ng ...
- nodejs渲染到页面的理解
一般逻辑都是: 打开页面,前端发请求到服务端,服务端返回数据到前端,前端根据数据生成DOM节点,然后append到DOM中. 如果是nodejs渲染到页面,我的理解是: 打开页面,服务端直接把数据查询 ...
- Hawk 3.1 动态页面,ajax,瀑布流
不少朋友反映,Hawk的手气不错,好像没法处理动态页面.其实很容易,比其他软件都容易,让我慢慢道来. 1. 什么是动态页面 很多网站,在刷新的时候会返回页面的全部内容,但实际上只需要更新一部分,这样可 ...
- 利用scrapy-splash爬取JS生成的动态页面
目前,为了加速页面的加载速度,页面的很多部分都是用JS生成的,而对于用scrapy爬虫来说就是一个很大的问题,因为scrapy没有JS engine,所以爬取的都是静态页面,对于JS生成的动态页面都无 ...
- Spring MVC 学习总结(七)——FreeMarker模板引擎与动态页面静态化
模板引擎可以让程序实现界面与数据分离,业务代码与逻辑代码的分离,这就提升了开发效率,良好的设计也使得代码复用变得更加容易.一般的模板引擎都包含一个模板解析器和一套标记语言,好的模板引擎有简洁的语法规则 ...
- ajax获取数据后怎么去渲染到页面?
$.ajax({ url:"apiAttachmentAction_uploadAttachment.action", type:"post", data:fo ...
- 输入url到渲染出页面的过程
输入地址 浏览器查找域名的 IP 地址 这一步包括 DNS 具体的查找过程,包括:浏览器缓存->系统缓存->路由器缓存... 浏览器向 web 服务器发送一个 HTTP 请求 服务器的永久 ...
- 微信小程序请求wx.request数据,渲染到页面
先说一下基本使用.官网也有. 比如说你在App.js里面有这些变量.想修改某些值. data: { main_view_bgcolor: "", border: "&qu ...
随机推荐
- .net core文件系统简介
在asp.net core程序中,我们可以通过如下代码开启对Web 根目录内的文件静态访问功能: app.UseStaticFiles(); 如果要提供更高级的选项,例如:将其它的物理文件夹下的文件作 ...
- 1 初识JVM
- 编译安装常用包+阿里镜像源-常用资源-系统-下载-科莱软件下载-docker仓库包-安全圈-杏雨梨云-图形界面安装-docker私有双仓库-阿里源报错处理-centos7目录大小
yum install apr-util apr-util-devel apr apr-devel pcre pcre-devel zlib zlib-devel openssl openssl-de ...
- Centos 8下普通用户增加root权限
问题: 解决: 重启Centos,使用root登陆:
- python --- 日志模块 logging
1.日志的使用 import logging class CommonLog(object): def _common_log(self,level,message): # 设定收集器,再设定收集的级 ...
- 32位CPU和64位CPU 区别
操作系统只是硬件和应用软件中间的一个平台. 32位操作系统针对的32位的CPU设计. 64位操作系统针对的64位的CPU设计.操作系统只是硬件和应用软件中间的一个平台. 32位操作系统针对的32位的C ...
- a标签的超链接提交form表单
<form action="/home/search" method="get" id="search_form"><di ...
- enlipse 快捷键
ctrl+shift+o 去掉多余的引用类
- PHP数据库基础(简单的)
经常用到的函数 $link=mysql_connect("数据库地址","用户名","密码");//链接数据库mysql_query(“se ...
- 雷火神山直播超两亿,Web播放器事件监听是怎么实现的?
Web播放器解决了在手机浏览器和PC浏览器上播放音视频数据的问题,让视音频内容可以不依赖用户安装App,就能进行播放以及在社交平台进行传播.在视频业务大数据平台中,播放数据的统计分析非常重要,所以We ...