美文网首页Node.js
Nodejs中的模板引擎——ejs

Nodejs中的模板引擎——ejs

作者: 乔乔_老师 | 来源:发表于2018-07-23 16:58 被阅读0次

首先我们需要使用ejs,必须先安装ejs

npm install ejs
1.使用ejs解析变量
//js代码
const ejs=require('ejs');//引入ejs
ejs.renderFile('./views/1.ejs',{name:'amy'},function(err,data){
    if(err)
            console.log('编译失败');
    else
            console.log(data);
})

ejs代码

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    我的名字叫:<% = name %>
</body>
</html>

我们执行上述代码就会发现amy已经被输出在body中


1.png
2.在ejs中解析json

有如下js代码:

const ejs=require('ejs');
ejs.renderFile('./views/2.jade',{json:{arr:[
   {name:'amy',pass:'123'},
   {name:'blue',pass:'456'},
  {name:'jack',pass:'789'}
]}},function(err,data){
    if(err)
            console.log('编译失败');
   else
           console.log(data);
});

ejs代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <div>
        <%=json.arr[0].name%>
    </div>
</body>
</html>

执行以上代码我们会看到json字符串中的相应内容被输出


2.png
3.在ejs中循环json中的数据

js代码如下

const ejs=require('ejs');
ejs.renderFile('./views/3.jade',{json:{arr:[
    {name:'amy',pass:123},
    {name:'jack',pass:456},
    {name:'blue',pass:789}
]}},function(err,data){

});

ejs代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <% for(var i=0;i<json.arr.length;i++){%>
    <div>
        用户名:<%=json.arr[i].user%>
        密码:<%=json.arr[i].pass%>
    </div>
    <% } %>
</body>
</html>

执行以上代码,我们会发现输出以下结果,json中的数据都被循环到了div中


1.png
4.在ejs中解析标签

js代码如下

const ejs=require('ejs');
ejs.renderFile('./views/4.ejs',{},function(err,data){
  if(err)
          console.log('编译失败');
  else
        console.log(data);
})

ejs代码:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <!-- 在ejs中解析标签 -->
    <%
      var str='<div></div>';
    %>
    <%-str%>
</body>
</html>

str就代表div标签,但是解析str的时候不用<%=str%>,而是把=换成-,<%-str%>,解析出来的结果如下图所示:


2.png
5.把文本中的内容输出到html中

现在有一个aaa.txt,我们想把aaa.txt中的内容输出到html中,代码如下

js代码
const ejs=require('ejs');
ejs.renderFile('./views/ejs5.js',{},function(err,data){
    if(err)
            console.log('编译失败');
   else
          console.log(data);
});

ejs代码

<!DOCTYPE html>
<html>
  <head>
    <meta charset="utf-8">
    <title></title>
  </head>
  <body>
    <!-- 把文本中的内容输出到或循环输出到ejs中 -->
   //引入aaa.txt
    <% include ../aaa.txt %>

//循环aaa.txt中的内容
     <%for(var i=0;i<5;i++){%>
    < include ../aaa.txt%>
    <% } %
  </body>
</html>
根据不同的值加载不同的css样式
js代码如下
const ejs=require('ejs');
ejs.renderFile('./views/6.js',{type:admin},function(err,data){
     if(err)
              console.log('err');
    else
             console.log(data);
});

ejs代码如下:

<!DOCTYPE html>
<html>
<head>
    <meta charset="utf-8">
    <title></title>
</head>
<body>
    <% if(type=='admin'){%>
    <% include ../style/admin.css%>
    <%}else{%>
    <% include ../style/user.css %>
    <% } %>
</body>
</html>

相关文章

网友评论

    本文标题:Nodejs中的模板引擎——ejs

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