express中使用ejs模板

express使用ejs模板

  • 第一步 npm install ejs --save
  • 第二步 app.set('view engine', 'ejs')
  • 第三步 使用(默认加载模板引擎的文件夹是views)res.render(xxx)

express配置ejs模板引擎的文件夹

app.set("views", __dirname + "/views1")

express修改ejs模板引擎的后缀名

  • 第一步 引入ejsconst ejs = require('ejs')
  • 第二步 注册html模板引擎代码:app.engine('html', ejs.__express)
  • 第三步 将模板引擎换成html代码:app.set('engine', 'html')

express托管静态资源文件

  • 原理:匹配路由之前,先查看静态web目录里面有没有访问的文件,如果有就加载,没有路由就向下加载
  • 可以多次调用app.use,配置多个静态web目录
  • 可以配置虚拟目录,这样每次引入文件的时候都需要加上这个虚拟路径
// 配置多个静态web目录
app.use(express.static('static'))
app.use(express.static('./assets'))

// 配置虚拟静态webm目录
app.use('/public', express.static("static"))
<link rel="stylesheet" href="/public/css/style.css">

ejs渲染数据

ejs模板绑定数据

使用<%=变量名%>渲染数据

// 配置路由
app.get("/news", (req, res) => {
    var userInfo= {
        username: 'zhangsan',
        age: 20,
    }
    res.render("news.ejs", {userInfo}, (err, data) => {
        res.send(data)
    })
})
<!-- ejs页面渲染 -->
<p>
    <span><%=userInfo.username%><span>
    <span><%=userInfo.age%><span>
</p>

ejs模板渲染HTML

使用<%-变量名%>渲染HTML

// 配置路由
app.get("/news", (req, res) => {
    var titleHTML = '<h3>这是h3标签</h3>'
    res.render("news.ejs", {titleHTML}, (err, data) => {
        res.send(data)
    })
})
<!-- ejs页面渲染 -->
<p><%-titleHTML%></p>

ejs模板的条件判断

ejs使用if...else if ...else进行判断的时候,需要主要将所有的js代码放在<%%>

<%if(flag == true){%>
    <p style="font-size:40px">flag = true<p>
<%} else {%>
    <p style="font-size:20px">flag = false<p>
<%}%>

ejs模板的for循环

ejs使用for循环的时候,需要主要将所有的js代码放在<%%>

<ul>
    <%for(var i =0; i < newsList.length; i++){%>
        <li>
            <p><%=newsList[i].title%></p>
            <p><%=newsList[i].ctn%></p>
        </li>
    <%}%>
</ul>

ejs模板引入外部文件(公共组件)

使用<%- include('文件')%>

<p>
    <!-- 会把footer.ejs的内容渲染到p标签当中去 -->
    <%- include("footer.ejs") %>
</p>
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值