# 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. 定义模板
> 如果你不能控制多行文本的定义,推荐简单使用`