`

javascript template engine

 
阅读更多
    //var data = {name: "iflytek", year: 1999};

    /**********************************************/
    var getTpl = function(tpl,data){
        var re = /<%([^%>]+)?%>/g;
        while (match = re.exec(tpl)) {
            tpl = tpl.replace(match[0], data[match[1]]);
        }
        return tpl;
    }
    /**********************************************/

    var TemplateEngine = function (tpl, data) {
        var reg = /<%([^%>]+)?%>/g,
            reExp = /(^( )?(if|for|else|{|}))(.*)?/g,
            code = 'var r=[];\n',
            cursor = 0;
        var add = function (line, js) {
            code += js ? line.match(reExp) ? line + '\n' : 'r.push(' + line + ');\n'
                : 'r.push("' + line.replace(/"/g, '\\"') + '");\n';
        }
        while (match = reg.exec(tpl)) {
            add(tpl.slice(cursor, match.index));
            add(match[1], true);
            cursor = match.index + match[0].length;
        }
        add(tpl.slice(cursor, tpl.length));
        code += 'return r.join("");';
        return new Function(code.replace(/[\r\t\n]/g, '')).apply(data);
    }

	//var loopTpl = 'name:<%this.info.name%>,site:<%this.info.site%>,building:<%for(var index in this.building){%><h5><%this.building[index]%>楼</h5><%}%>';
    //var data = {info:{name:'iflytek',site:'http://www.iflytek.com'},building:['A1','A2']};
    //var str = TemplateEngine(loopTpl,data);

 

分享到:
评论

相关推荐

    javascript-高性能javascript模版引擎-templateEngine.zip

    在“javascript-高性能javascript模版引擎-templateEngine.zip”这个压缩包中,我们很显然会发现一个关于创建高效JavaScript模板引擎的资源集合。下面我们将详细探讨JavaScript模板引擎的工作原理、优点、常见实现...

    Hanjst:Han JavaScript Template Engine 汉吉斯特 JavaScript模板引擎

    韩语JavaScript模板语言和引擎 。 汉是我妻子的姓,也是我女儿和儿子的名字之一。 汉在汉人拼音中也是华人。 :person_raising_hand: Hanjst的目的是为了停止HTML模板引擎的“重新发明轮子”,尽管这听起来很荒谬...

    templateEngine.zip

    总结,"templateEngine.zip"包含的内容涵盖了JavaScript模板引擎的各个方面,无论你是初学者还是有一定经验的开发者,都能从中受益。通过深入学习和实践,你将能够熟练掌握模板引擎的运用,提升Web开发效率和代码...

    template-engine:前端JavaScript模板库

    Sameera M制造的前端Javascript模板引擎。 CDN 句法 #{varName} 初始化 let data = { word1 : "Hello" , word2 : "World" } let renderer = new Template ( "html" , data ) renderer . init ( ) 模板化 ...

    PHPnow template engine PHP模板引擎 v1.0.zip

    在使用PHPnow template engine时,首先要理解其核心概念。模板引擎的主要任务是解析含有PHP代码的HTML模板文件,将PHP代码执行后生成的数据插入到相应的位置,然后返回最终的HTML输出。这个过程通常涉及以下几个关键...

    simplate:一个简单JavaScript模板引擎

    A Simple JavaScript Template Engine. Get Started Grammar Evaluate(过程控制) {{ for ( var item in data ) { }} Some code here... {{ } }} Interpolate(输出控制) {{= data.name }} NonEscape(非编码输出...

    页面开发:图片轮播,js模板引擎,倒计时等功能

    JavaScript模板引擎(JavaScript Template Engine)是将数据和视图分离的一种技术,用于动态生成HTML。它允许开发者预先定义好HTML结构,然后用特定的语法(如Mustache的`{{ }}`,Handlebars的`{{ }}`,EJS的`&lt;% %&gt;`...

    A Template Engine for Modern C++.zip

    "A Template Engine for Modern C++" 提供了一种高效且灵活的方式来处理这类问题。 模板引擎的核心概念是模板和数据绑定。模板是一段包含占位符的文本,这些占位符在运行时会被实际的值替换。在C++中,模板引擎通常...

    Xmark Template Engine V1.1.0 Beta(一个通用的可扩展标记模板引擎).zip

    Xmark Template Engine V1.1.0 Beta 是一个通用且可扩展的模板引擎,它旨在帮助开发者快速构建动态网页和应用程序。模板引擎是编程领域中的一种工具,它允许程序员使用特定的语法(如HTML标记)来分离应用逻辑与视图...

    只有 20 行的 JavaScript 模板引擎实例详解

    原文链接:JavaScript template engine in just 20 lines (译者吐槽:只收藏不点赞都是耍流氓) 前言 我仍旧在为我的JS预处理器AbsurdJS进行开发工作。它原本是一个CSS预处理器,但之后它扩展成为了CSS/HTML预...

    node-template-literals-engine:一个非常简单的模板文字模板引擎

    JS模板文字引擎 一个非常基本的,直接使用JS模板文字的模板引擎 ... const Engine = require ( '@ahmadnassri/template-literals-engine' ) const engine = new Engine ( options ) engine . render ( 'template' , { n

    基于 ES6 的简易服务器端 WEB 模板引擎

    import TemplateEngine from './templateEngine.js'; const engine = new TemplateEngine(); ``` **7. 使用示例** 创建一个简单的模板引擎并应用于实际场景: ```javascript const engine = new TemplateEngine(`...

    modulejs 下载,面向对象的javascript框架.rar

    •HTML document query/traversing/manipulation •Lightweight selector engine •Event handling •Animation •Cookie/localStorage storage •Language extensions •Ajax/JSONP request •Template engine •...

    template_engine-employee

    "template_engine-employee"这个项目很可能是一个基于JavaScript实现的模板引擎,用于处理和生成与员工相关的动态内容。接下来,我们将深入探讨模板引擎的工作原理、JavaScript在其中的作用以及可能的实现方式。 ...

    Json+NVelocity模板引擎C#入门示例,比较全面

    Json(JavaScript Object Notation)是一种基于文本的格式,它以键值对的形式存储数据,类似于JavaScript的对象字面量。Json在Web服务和客户端之间的数据交换中起着关键作用,因为它允许开发者快速地序列化和反序列...

    Shopping_Cart_NodeJs_With_Ejs_TemplateEngine

    标题 "Shopping_Cart_NodeJs_With_Ejs_TemplateEngine" 暗示了这是一个关于使用 Node.js 构建购物车应用的项目,其中采用了 EJS 模板引擎来处理视图层的展示。这个项目可能涵盖了从后端数据处理到前端用户界面的构建...

    HTML_Template_Engine

    在本项目"HTML_Template_Engine"中,我们可以看到一个基于JavaScript的应用程序,它能够根据用户输入的数据自动生成一个展示团队名册的HTML文件。通过这个应用,我们可以探讨HTML模板引擎的工作原理、JavaScript在...

    前端开源库-ljve-jsdoc-template

    **ljve** 很可能是指 "Lightweight JavaScript Visualization Engine",它可能是一个用于数据可视化的JavaScript库,而这个模板是为了帮助ljve的使用者更好地理解和利用ljve库的功能。 **JSDoc** 是一个强大的工具...

    JSTE - 基于JavaScript语法的简易模板引擎

    **JSTE - JavaScript Syntax Based Template Engine** JSTE(JavaScript Syntax Based Template Engine)是一种轻量级的模板引擎,它允许开发者使用JavaScript语法来定义和渲染HTML模板。这种模板引擎的出现,使得...

Global site tag (gtag.js) - Google Analytics