的模板系统升一下级, 继续在新公司里面用。 现在几在互联网公司没有不用javascript模板了, 什么TX, 百度, 新浪, 360什么的, 最后瀑布流的流行, 里面又有许多用到模板。
本版本就是改回v6的形态,后端数据还是带@前端才方便查看与调试。昨天也与一TX前端工程师讨论过这个必要性。取得模板中的需要填写的变量,再与后端传过来的JSON进行比较,尽早进行数据验证。这种技术,可以看一看PHP的变量命名就知了,带是带$前缀。
在之前的版本中,如果输出语句带分号或逗号是会报错的
< script type = "tmpl" id = "table_tmpl" >
< table >
<& for(var i=0,tl = @trs.length,tr;i< tl ;i++){ &>
<& tr = @trs[i]; &>
< tr >
< td ><&= tr.name; &></ td > < td ><&= tr.age; &></ td > < td ><&= tr.sex || "男" &></ td >
</ tr >
<& } &>
</ table >
<&# 怎么可能不支持图片 &>
< img src="<&= @href &>">
</ script >
|
因为内部生成的字符串是这个样子的:
为了防止用户顺手把个逗号或分号上去,本版本自动帮你处理了.
rlastSemi = /[,;]\s*$/
case "=" :
logic = els[0].substring(1);
if (logic.indexOf( "@" )!==-1){
temp.push( startOfHTML, logic.replace(rAt, "$1data." ).replace(rlastSemi, '' ), endOfHTML );
} else {
temp.push( startOfHTML, logic.replace(rlastSemi, '' ), endOfHTML );
}
break ;
|
例子
下面是一个模板,放置于浏览器会忽略解析JS代码的script标签之内, 注意trs与href前面都带有@标识符。
< script type = "tmpl" id = "table_tmpl" >
< table >
<& for(var i=0,tl = @trs.length,tr;i< tl ;i++){ &>
<& tr = @trs[i]; &>
< tr >
< td ><&= tr.name &></ td > < td ><&= tr.age &></ td > < td ><&= tr.sex || "男" &></ td >
<&# 导入子模板 &>
<&= $.ejs("tds_tmpl"); &>
</ tr >
<& } &>
</ table >
<&# 怎么可能不支持图片 &>
< img src="<&= @href &>">
</ script >
< script type = "tmpl" id = "tds_tmpl" >
< td >静态的表格</ d > < td >静态的表格</ d > < td >静态的表格</ d >
</ script >
|
这是它的JS代码:
$.require( "ready,more/ejs,node" , function (){
var trs = [
{name: "隐形杀手" ,age:29,sex: "男" },
{name: "索拉" ,age:22,sex: "男" },
{name: "fesyo" ,age:23,sex: "女" },
{name: "恋妖壶" ,age:18,sex: "男" },
{name: "竜崎" ,age:25,sex: "男" },
{name: "你不懂的" ,age:30,sex: "女" }
]
var html = $.ejs( "table_tmpl" ,{
trs: trs,
href: "http://images.cnblogs.com/cnblogs_com/rubylouvre/202906/o_type4.jpg"
});
$( "#table_tc" ).html(html)
});
|
隐形杀手 |
29 |
男 |
静态的表格 |
静态的表格 |
静态的表格 |
索拉 |
22 |
男 |
静态的表格 |
静态的表格 |
静态的表格 |
fesyo |
23 |
女 |
静态的表格 |
静态的表格 |
静态的表格 |
恋妖壶 |
18 |
男 |
静态的表格 |
静态的表格 |
静态的表格 |
竜崎 |
25 |
男 |
静态的表格 |
静态的表格 |
静态的表格 |
你不懂的 |
30 |
女 |
静态的表格 |
静态的表格 |
静态的表格 |
分享到:
相关推荐
描述中提到的“我的模板系统升一下级”,可能指的是EJS从v6版本进行到v9的更新。在EJS的发展历程中,开发者不断地优化和改进模板引擎,使其更加高效、安全和用户友好。从描述中可以得知,模板系统升级后,它将便于在...
EJS - 嵌入的JavaScript模板
在上述代码中,`str`是通过`fs.readFile`从文件系统中读取的EJS模板,`{ data: { user_data: 'John Doe' } }`则是要传递给模板的数据。`render`函数会将`user_data`变量替换为'John Doe',然后返回生成的HTML。 ...
很好用的javascript模板工具,可以在页面内自定义模板,也可以将整个模板存成单独的文件,语法也与js几乎一致,十分方便
express ejs模板引擎
【标题】"管理系统系列--Nodejs + Express + Ejs + Mysql 后台管理系统" 提供了一套基于Node.js、Express、EJS模板引擎和MySQL数据库构建的后台管理系统的实现方案。这一组合是Web开发中常见且强大的技术栈,特别...
EJS模版引擎是一款流行的JavaScript模板引擎,常用于前端开发,尤其在构建动态网页时非常实用。它借鉴了JSP(JavaServer Pages)的一些概念,但简化了代码结构,使得编写更加简洁。EJS允许开发者将HTML和JavaScript...
在 JavaScript 中使用 EJS 渲染模板,你可以这样操作: ```javascript var ejs = require('ejs'); var str = '<%...%>'; // 模板字符串 var data = {names: ['foo', 'bar', 'baz']}; // 数据对象 var ret = ejs....
ECT是一个新兴的JavaScript模板引擎,主要致力于性能表现。 ECT开发者称,与其他引擎(如Dust、Hogan.js、Fest、Handlebars.js、doT、Swig、Eco、EJS、CoffeeKup和Jade等)相比,ECT目前是最快的,见基准测试。你...
嵌入式JavaScript模板。 注意:EJS版本2对此版本进行了一些重大更改(特别是删除了过滤器功能)。 v2的工作在这里进行: : EJS v2的文件问题在这里: : 安装 $ npm install ejs 特征 符合 View系统 中间...
Node 开源模板的选择很多,但有 Classic ASP/PHP/JSP 的经验用起 EJS 来的确可以很自然,也就是说,你能够在 <%...%> 块中安排 JavaScript 代码,利用最传统的方式 输出变量%>(另外 输出变量是不会对 & 等符号进行...
"Node.js-一个简单快速类似ejs的node.js的模板引擎"是指一个特定的模板引擎,其设计目标是提供与流行的EJS(Embedded JavaScript)模板引擎相似的功能,但更简洁快速。 EJS是一种常见的用于Node.js的模板引擎,它...
CRM系统HTML模板是一种用于构建客户关系管理系统的前端资源,它主要由HTML、CSS和JavaScript等技术构成,不包含任何后端功能。这个模板是纯静态的,意味着它只能展示信息,不能处理用户输入的数据或与数据库进行交互...
JavaScript 模板引擎是一种在JavaScript中动态生成HTML代码的技术,常用于前后端分离的开发模式。...在实际开发中,更成熟的模板引擎库,如EJS、Handlebars或Pug,提供了更丰富的功能和优化,适用于大型项目的需求。
EJS(Embedded JavaScript Templates)是一种简单的模板语言,它允许你将 JavaScript 嵌入到 HTML 文件中,从而生成动态网页内容。本文将详细介绍如何在 Express 项目中配置和使用 EJS 作为模板引擎。 #### 二、...
%> ) 包括客户端支持中间JavaScript的静态缓存模板的静态缓存符合 View系统例子<% if (user) { % > < h2>< %= user . name % >< / h2 >< % } %> 可以通过以下在线尝试EJS: : 。基本用法let ...
2. **EJS**:EJS是一种轻量级的模板引擎,支持内联表达式和控制结构,如`<% if... %>`和`<% for... %>`, 提供了更丰富的编程能力。 3. **Handlebars**:Handlebars提供了助手函数,可以扩展其功能,允许定义自定义...
嵌入式JavaScript模板安装$ npm install ejs功能带有<%%>的转义输出,具有<%=%>(可配置转义功能)带有&lt的未转义原始输出嵌入式JavaScript模板安装$ npm install ejs功能具有带有(escaped输出的转义...