Express之ejs模板

ejs是Embedded JavaScript的简写

1.创建一个ejs模板

var ejs = require(‘ejs‘);
var template = ‘<%= message %>‘;
var context = {message: ‘Hello template!‘};

console.log(ejs.render(template, context));

通过ejs.render(template, data)就可以将数据传递给模板,从而渲染展示出页面
需要注意的是:data变量名是自定义的,但是不可以使用:cache,filename,scope,debug,compileDebug,client,open,close这些名称
这些名称是模板引擎设置相关的保留值

2.字符转义:ejs.render()传递数据时会将一些特定的字符进行转义,以防止脚本攻击

var ejs = require(‘ejs‘);
var template = ‘<%= message %>‘;
var context = {message: "<script>alert(‘XSS attack!‘);</script>"};

console.log(ejs.render(template, context));

打印结果

&lt;script&gt;alert(‘XSS attack!‘);&lt;/script&gt;

另:如果你确定传递的数据是可信的,则可以在模板标签中用<%-替代<%=,这样ejs就不会将特定的字符进行转义了

var ejs = require(‘ejs‘);
var template = ‘<%- message %>‘;
var context = {
    message: "<script>alert(‘Trusted JavaScript!‘);</script>"};
}

console.log(ejs.render(template, context));

这样alert的弹窗效果就出来了

3.自定义ejs模板的标签符号

var ejs = require(‘ejs‘);

ejs.open = ‘{{‘
ejs.close = ‘}}‘

var template = ‘{{= message }}‘;
var context = {message: ‘Hello template!‘};

console.log(ejs.render(template, context));
时间: 2024-10-09 16:25:15

Express之ejs模板的相关文章

node(4)express 框架 EJS模板,cookie, session的学习

一.EJS 概述:前端咱们使用过的一个模板套路,是underscore的套路.接下来EJS它属于后台工程师人的模板. https://www.npmjs.com/package/ejs 官网地址 特点: Control flow with <% %>             流程控制语句用的是<% %>   :例如if   for循环等等 Escaped output with <%= %> (escape function configurable)     如果有赋

express结合EJS模板渲染HTML

注意:以下是在Windwo环境下 运行: npm install ejs 然后你的目录node_modules下将增加ejs文件夹 app.js var express=require("express"); var app=express(); //指定模板引擎 app.set("view engin",'ejs'); app.use(express.static(__dirname+"/views")); //利用模板文件home.ejs渲染

NodeJS - Express 3.0下ejs模板使用 partial展现 片段视图

如果你也在看Node.js开发指南,如果你也在一步一步实现 microBlog 项目!也许你会遇到本文提到的问题,如果你用的是Express 3.0 本书实例背景是 Express 2.0 而如今升级到 3.0后去掉了一些老的方法也更新了一些新的,所以变化还是蛮大的. 首先上一篇博客提到的一个问题: 如何用Express 3.0 生成一个 ejs 模板项目 前提是你已经下载了ejs包,如何下载,运行cmd 输入 npm install ejs -g 2.0 下的语法是:express -t ej

在express站点中使用ejs模板引擎

在express站点中使用ejs模板引擎 文/玄魂 目录 在express站点中使用ejs模板引擎    1 前言1 1.1         安装    1 1.2修改app.js  2 1.3创建测试页面2 前言 使用 vs创建的express站点,默认使用的是jade模板引擎,但是我不太喜欢这种方式,因为我觉得html本身的语义特性是我喜欢的,另外html本身也足够简洁,使用html自身做为模板语言更符合我的喜好,所以我选择ejs. 欢迎访问玄魂的博客 1.1        安装 在网站根目

Express框架中如何引用ejs模板引擎

原文地址:http://www.cnblogs.com/greenteaone/p/3685733.html 1.如何在项目中安装ejs模板引擎 在NodeJS指南中利用利用以下命令建立网站的基本结构: express -t ejs microblog 运行这个命令后继续运行 cd microblog && npm install(安装项目的依赖属性), 发现安装的模板引擎是jade,而不是ejs.原因是现在的版本已经没有-t这个命令了,改为 express -e  microblog 运

【Node.js基础篇】(八)安装Express 3.2框架以及ejs模板

Html模板以及路由文件等服务器必备的功能虽然我们都可以自己实现,但在稳定性.可靠性.全面性方面肯定是有所遗漏的,所以,从今天起,Node的学习就进入了框架学习部分. 维基百科: 框架就是制定一套规范或者规则(思想),大家(程序员)在该规范或者规则(思想)下工作.或者说使用别人搭好的舞台来做编剧和表演. 第一个要学习的框架是在Node中被广泛应用的框架--Express. 安装Express 如果你使用的Node开发环境是WebStorm的话,在新建工程的时候可以直接选新建Node工程,它会给你

Express中使用ejs模板引擎

模板html文件放在view目录中, 文件名为:user_ejs.html 内容为: <!DOCTYPE html> <html lang="en"> <head> <title>EJS Template</title> </head> <body> <h1>User using EJS Template</h1> <ul> <li>Name: <%

Express中的Ejs模板传值问题

在Ejs模板传值过程中,route下的变量值通过res.sender()中的变量参数传给views, 这时在views中若该变量在javascript代码中使用,可直接使用该变量,不必使用<% 变量 %>这种形式. 例如代码如下: <% for(var j = 1+index*10;j <= index*10+10;j++){      if(j > ArrayLength)     break; %>, 而不是 <% for(var j = 1+index*10

EJS模板引擎

一.什么是模板引擎? 是为了使用户界面与业务数据(内容)分离而产生的,它可以生成特定格式的文档,用于网站的模板引擎就会生成一个标准的HTML文档. 常用的模板引擎有ejs .jade.smarty等. 二.为什么需要模板引擎? 前端开发的时候,经常有根据后台返回的数据,然后根据此数据生成html,最后渲染到页面中.比如: var data = [ {name: "leaf1"}, {name: "leaf2"}, {name: "leaf3"}