美文网首页
方便实用的ejs语法

方便实用的ejs语法

作者: 十八人言 | 来源:发表于2019-10-16 16:24 被阅读0次

之前在学习node的过程中接触到express接着便选择学习ejs做一下全栈,ejs和html是兼容的,记录点常用语法。

以下是集中常用语法:

1.转义输出

<%= 变量名 %>

这个是转义输出,可以把变量名替换成自己需要的东西.
我们可以这么使用.

// js文件
ejs.renderFile('./views/test.ejs',{name:'wzz'},function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
});
<!-- ejs文件 -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <%=name%>
</body>
</html>

最后我们可以发现name变量,在控制台被替换成了wzz.

2.js代码

<% Javascript代码 %>

这里面可以写javascript的代码.我们可以这么使用

// js文件
ejs.renderFile('./views/test.ejs',{json:{arr:[
  {user:'a',pass:'1'},
  {user:'b',pass:'2'},
  {user:'c',pass:'3'},
  {user:'d',pass:'4'}
]}},function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
});
<!-- ejs文件 -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <%for(var i=0;i<json.arr.length;i++){%>
    <div>user:<%=json.arr[i].user%> pass:<%=json.arr[i].pass%><div>
  <%}%>
</body>
</html>

然后我们发现控制台循环输出了div和里面的内容

<div>user:a pass:1<div>
<div>user:b pass:2<div>
<div>user:c pass:3<div>
<div>user:d pass:4<div>

3.不转义输出

<%- 变量名%>

不转义输出可以把定义的字符串不转义的输出.
我们可以这么用,这边我们省略了第二个不使用的json数据

// js文件
ejs.renderFile('./views/test.ejs',function(err,data){
  if(err){
    console.log(err);
  }else{
    console.log(data);
  }
});
<!-- ejs文件 -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <% var str='<div><div>'; %>
  <%-str %>
  <%=str %>
</body>
</html>

输出结果如下

  <div><div>
  &lt;div&gt;&lt;div&gt;

4.使用include引入外部的文件

<% include 文件的地址 %>

我们先新建一个txt文件,随便在里面填上一点内容供测试使用.
js文件和上面的一样,所以省略,下面是ejs文件

<!-- ejs文件 -->
<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
  <% include ../content.txt %>
</body>
</html>

我们发现控制台正确的输出了我们想要的内容

<!DOCTYPE html>
<html lang="en">
<head>
  <meta charset="UTF-8">
  <title>Document</title>
</head>
<body>
    hello world
</body>
</html>

最关键就是这个include用法,用的好会很省力
例如创建一个ejs文件存放公用代码例如公用导航栏的代码layout.ejs

<!DOCTYPE html>
<html lang="en">
<head>
    <meta charset="UTF-8">
    <meta name="viewport" content="width=device-width, initial-scale=1.0">
    <title>管理首页</title>
</head>
<body>
<nav >
    <div >
        <div >
            <a  href="/admin">后台管理</a>
        </div>
        <div >
            <ul >
                <li><a href="/admin/user">用户管理</a></li>

                <li >
                    <a href="#" >分类管理<span ></span></a>
                    <ul >
                        <li><a href="/admin/category">分类列表</a></li>
                        <li><a href="/admin/category/add">分类添加</a></li>
                    </ul>
                </li>
                <li  >
                    <a href="#" >内容管理<span ></span></a>
                    <ul >
                        <li><a href="/admin/content">内容列表</a></li>
                        <li><a href="/admin/content/add">内容添加</a></li>
                    </ul>
                </li>
            </ul>
            <ul >
                <li >
                    <a href="#" ><%= userInfo.username%><span class="caret"></span></a>
                    <ul >
                        <li><a href="/">退出后台管理</a></li>
                    </ul>
                </li>
            </ul>
        </div>
    </div>
</nav>

然后你的后台主页就可以这样写

<%- include('./layout') %>
<div >
    <div >
        <h1>Hello, world! <%= userInfo.username %></h1>
        <p>欢迎来到我的博客后台管理</p>
    </div>
</div>

这样就能输出整张完整的页面,你在写一些功能提示页面的时候就不必重写代码,简化了代码结构

这就是比较常用的4个小方法啦。

参考文章

相关文章

  • 方便实用的ejs语法

    之前在学习node的过程中接触到express接着便选择学习ejs做一下全栈,ejs和html是兼容的,记录点常用...

  • 快速笔记

    hygen hygen的prompt事例 ejs ejs模板语法

  • EJS语法

    EJS语法 <%%> js的代码 <%= %> 输出的内容 四部曲 四部曲 1:引进ejs.min.js插件 2:...

  • ejs语法

    在一个页面引入另一个页面并穿参<%- include("./inc/service.ejs",{text:'如果這...

  • 模板引擎-ejs模板库

    ejs模板库 1. 配置安装2. 基础语法- ejs中可以插入任何的js- ejs中输出html(直接将"="变为...

  • Node.js EJS 模板

    0x01 什么是 ejs 模板 使用过 react.js 的朋友应该知道 JSX 语法,其实 ejs 模板与其类似...

  • ejs模版语法

    模板语言是什么?就是帮我们用 JavaScript 代码生成 HTML 页面。那我们看下它怎么渲染 HTML: 是...

  • koa-ejs模板引擎

    使用模板引擎,告别接口API开发模式。不过ejs语法……代码如下: koa-ejs使用 第一步:引入const e...

  • 后台模板引擎EJS和Jade 一些语法

    1)Ejs模板引擎 1、常规使用变量拿值 在Ejs模板引擎中都是以<% %>为一个键值对 里面可以填js语法**...

  • 几个常用的ejs语法

    分别接触了jade和ejs,准备从这两个中间选择一个.jade的语法虽然简便,但是总感觉和之前学的知识没有关系.最...

网友评论

      本文标题:方便实用的ejs语法

      本文链接:https://www.haomeiwen.com/subject/pysumctx.html