[TOC]
# 介紹
art-template 是一個簡約、超快的模板引擎。
它采用作用域預聲明的技術來優化模板渲染速度,從而獲得接近 JavaScript 極限的運行性能,并且同時支持 NodeJS 和瀏覽器。[在線速度測試](../../rendering-test/)。
## 特性
1. 擁有接近 JavaScript 渲染極限的的性能
2. 調試友好:語法、運行時錯誤日志精確到模板所在行;支持在模板文件上打斷點(Webpack Loader)
5. 支持 Express、Koa、Webpack
6. 支持模板繼承與子模板
7. 瀏覽器版本僅 6KB 大小
<!--這一句非中文版文檔請刪除-->
[art-template@4.0 新特性一覽](https://github.com/aui/art-template/issues/369)
## 模板
art-template 同時支持兩種模板語法。標準語法可以讓模板更容易讀寫;原始語法具有強大的邏輯處理能力。
**標準語法**
```html
{{if user}}
<h2>{{user.name}}</h2>
{{/if}}
```
**原始語法**
```html
<% if (user) { %>
<h2><%= user.name %></h2>
<% } %>
```
原始語法兼容 [EJS](http://ejs.co)、[Underscore](http://underscorejs.org/#template)、[LoDash](https://lodash.com/docs/#template) 模板。
## 渲染模板
```js
var template = require('art-template');
var html = template(__dirname + '/tpl-user.art', {
user: {
name: 'aui'
}
});
```
## 核心方法
```js
// 基于模板名渲染模板
template(filename, data);
// 將模板源代碼編譯成函數
template.compile(source, options);
// 將模板源代碼編譯成函數并立刻執行
template.render(source, data, options);
```