# BuildHTML **Repository Path**: xiangyuecn/BuildHTML ## Basic Information - **Project Name**: BuildHTML - **Description**: 前端轻量级HTML模板引擎,100行代码,不限于嵌套、循环、函数你能想到的解析方式! - **Primary Language**: JavaScript - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2019-11-05 - **Last Updated**: 2022-05-18 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # BuildHTML用于前端HTML模板解析 这段代码是以前在多个项目中使用的(包括PC端、移动端、还有Android、IOS Hybrid App),代码简单轻巧,但功能一点都不简单。100行代码不到,Uglify压缩后1k大小(可选移除_eval后0.8k)。 演示地址:[https://xiangyuecn.github.io/BuildHTML/](https://xiangyuecn.github.io/BuildHTML/) ## 特性 - 语法简单,只有`{{}}`、`{}`两种。 - 内部使用eval实现(带缓存,并非每次都eval),因此可以在模板内书写小段js,单次小功能无需定义成函数。 - 模板内可直接访问当前对象的属性和函数。 - 模板内可直接访问全局属性和函数。 - 未特意多写一个`:控制符`时输出的属性或者函数返回值统统会进行HTML实体转义。 - 由于可书写js和访问全局变量,因此支持循环、嵌套、递归。 - 纯粹将模板解析成HTML的效率是非常高的。 ## 缺陷 - 由于使用方式上的问题,生成出来的html往往被直接用`.html(html)`输出网页里面,进而整个流程可以作为性能低下的代表。 # 使用方法 1. 定义模板 > 如果你不能控制多行文本的定义,推荐简单使用`