php ejs,EJS模板引擎实例详解

前面的话

nodejs的模板引擎有很多, EJS是比较简单和容易上手的。本文将详细介绍EJS

概述

EJS是一个简单高效的模板语言,通过数据和模板,可以生成HTML标记文本。可以说EJS是一个JavaScript库,EJS可以同时运行在客户端和服务器端,客户端安装直接引入文件即可,服务器端用npm包安装

【安装】

ejs可以配合express框架使用,或直接在node中/浏览器中使用

$ npm install ejs

【特点】

1、快速编译和渲染

2、简单的模板标签

3、自定义标记分隔符

4、支持文本包含

5、支持浏览器端和服务器端

6、模板静态缓存

7、支持express视图系统

用法

Document

document.getElementById('div1').innerHTML = html;

a66300b4c8301266ec3c4fc67dfac814.png

方法

【ejs.compile(str,[option])】

编译字符串得到模板函数,参数如下

str:需要解析的字符串模板

option:配置选项

var template = ejs.compile('');var result = template();

console.log(result);//123

【ejs.render(str,data,[option])】

直接渲染字符串并生成html,参数如下

str:需要解析的字符串模板

data:数据

option:配置选项

var result = ejs.render('');

console.log(result);//123

两个函数包括的配置选项参数options如下:

cache 缓存编译后的函数(ejs.compile(..) ,需要 filename参数作为缓存的key

filename 用于缓存的key,和include

context 函数的执行上下文

compileDebug 输出compile的信息来跟踪调试

client 返回编译后的函数

delimiter 指这里的%debug 输出ejs.compile()得到函数的函数体

strict ejs.compile()返回的函数是否执行在严格模式

_with 是否使用 with(){..} 来访问本地变量

localsName 保存本地变量的对象名,默认为locals

rmWhitespace 移除多余空格

常用标签

【js】

所有使用 括起来的内容都会被编译成 Javascript,可以在模版文件中像写js一样Coding

//test.ejs

//test.jsvar ejs = require('ejs');var fs = require('fs');var data = fs.readFileSync('test.ejs');var result = ejs.render(data.toString());

console.log(result);//123

或者,像下面这样写

var ejs = require('ejs');var result = ejs.render('');

console.log(result);//123

【变量】

用输出变量,变量若包含 '' '&'等字符会被转义

var ejs = require('ejs');var result = ejs.render('',{a:'

123
'});

console.log(result);//<div>123</div>

如果不希望变量值的内容被转义,那就这么用输出变量

var ejs = require('ejs');var result = ejs.render('',{a:'

123
'});

console.log(result);//

123

【注释】

用来注释,不执行不输出

【include】

include 可以引用绝对路径或相对路径的模板文件

//test.ejs

//test.jsvar ejs = require('ejs');var result = ejs.render('');//throw new Error('`include` use relative path requires the \'filename\' option.');console.log(result);

由上面的提示可知,使用相对路径时,必须设置'filename'选项

//test.ejs

//test.jsvar ejs = require('ejs');var result = ejs.render('',{filename:'test.ejs'});

console.log(result);//123

  • 1
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值