node-14-ejs-基础

简介: 高效的嵌入式 JavaScript 模板引擎。EJS 是一套简单的模板语言,帮你利用普通的 JavaScript 代码生成 HTML 页面。EJS 没有如何组织内容的教条;也没有再造一套迭代和控制流语法;有的只是普通的 JavaScript 代码而已。

1.前言


WHAT ejs   啥?

高效的嵌入式 JavaScript 模板引擎。

EJS 是一套简单的模板语言,帮你利用普通的 JavaScript 代码生成 HTML 页面。EJS 没有如何组织内容的教条;也没有再造一套迭代和控制流语法;有的只是普通的 JavaScript 代码而已。

安装

npm install ejs


2.HOW 咋用?


将模板字符串和一些数据作为参数传递给 EJS,Duang,HTML 出来了。


//1. 引用
const ejs = require('ejs')
//2. 数据
var obj = {
    name:"ejs",
    description:"高效的嵌入式 JavaScript 模板引擎。"
}
//3. 模板
var ejsStr =`
<h1><%= name %></h1>
<p><%= description %></p>
`
//4. 渲染
var res = ejs.render(ejsStr,obj)
console.log(res);



3. node 结合


html文件


<body>
    <h1><%= name %></h1>
    <p><%= description %></p>
</body>
服务器


const ejs = require('ejs')
var obj = {
    name:"ejs",
    description:"高效的嵌入式 JavaScript 模板引擎。"
}
ejs.renderFile(__dirname+"/html文件名字",obj,function(err,data){
    if(err){
    console.log("错误:",err);
    }else{
    console.log(data);
    }
})



4基本语法


<% '脚本' 标签,用于流程控制,无输出

可以习惯 先写成对的 <%   %>

js代码用 <% %>b包裹起来

<%= 输出数据到模板(输出是转义 HTML 标签)

<%=  name %>

注意=和前面的%没有空格

render

ejs.render(模板,对象) 输出渲染后的 HTML 字符串


5.效果


A}%RNCJ~$KZUA`2~K5O%$)1.png



6.  列表渲染 条件渲染


服务端


var ejs = require("ejs")
var obj = {
    name: " ejs",
    description:"高效的嵌入式 JavaScript 模板引擎。",
    s:"<h1> 模板转义</h1>",
    list:["html","css","js","jQ"]
};
ejs.renderFile("./03list.html", obj, function (err, str) {
    console.log("读取错误:",err);
    console.log(str)
})
列表渲染 常规方式 for


<h1>
        <%= name %>
    </h1>
    <p>
        <%= description %>
    </p>
    <ul>
        <% for(var i=0; i < list.length;i++){%>
            <li>
                <%= list[i] %>
            </li>
            <% } %>
    </ul>
列表渲染 forEach


<ul>
        <% list.forEach(function(item){ %>
            <li>
                <%= item %>
            </li>
            <% }) %>
    </ul>



7.条件渲染 if



<% if(name){ %>
       <h2>
           <%= name %>
       </h2>
       <% }else{ %>
           <a href="#">未登录</a>
        <%   } %>



8. html标签



<div>
         <%-s%>
     </div>

这个会直接输出

标签不转义




相关文章
|
8月前
|
JavaScript 前端开发 Java
Node.js专题讲解 第1期 概念篇
Node.js专题讲解 第1期 概念篇
59 0
|
5月前
|
JavaScript 前端开发 关系型数据库
如何学习 Node.js?
【8月更文挑战第4天】如何学习 Node.js?
49 3
|
7月前
|
Web App开发 JavaScript 前端开发
Node.js是什么(基础篇)
Node.js是什么(基础篇)
40 2
|
缓存 JavaScript 前端开发
[Node] Node.js JavaScrpt模块化开发
[Node] Node.js JavaScrpt模块化开发
|
JavaScript 前端开发 物联网
Node.js入门之 - 初识Node.js
随着 web 前后端分离、PWA、微服务架构的流行,以及 5G、AIoT 等技术的兴起,Node.js 将在 web 后端、移动互联网、企业应用和嵌入式设备等领域有非常广阔的应用前景。Node.js 的跨平台与轻量级特点,也使其非常适合构建桌面应用与各种工具软件。可以说,Node.js 是一门具有长期生命力和广阔前景的技术,值得我们深入学习与长期投入。虽然Node.js 具有事件驱动高效、单线程高性能、丰富生态和跨平台等优点,适合于 I/O 密集型任务和实时应用。
122 2
|
JavaScript 前端开发 网络协议
Node.js 基本架构解析
Node.js 基本架构解析
338 0
|
Web App开发 JavaScript 前端开发
Node.js的基础学习
Node.js的基础学习
134 1
|
JavaScript 前端开发
node.js 学习入门(01 - node.js基础)
node.js 学习入门(01 - node.js基础)
node.js 学习入门(01 - node.js基础)
|
Web App开发 负载均衡 JavaScript
Node.js入门之什么是Node.js
作为前端开发者,我相信对Node.js肯定不陌生,都知道是一个javascript的运行环境。但是要讲出Node.js的优缺点,以及在什么场景下使用Node.js好可能就不是很清楚了。今天笔者以自己的工作经验,简单分享下自己对Node.js的看法,希望能帮助到小伙伴们。
124 0