[TOC]
# 選項
`template.defaults`
```js
// 模板名
filename: null,
// 模板語法規則列表
rules: [nativeRule, artRule],
// 是否開啟對模板輸出語句自動編碼功能。為 false 則關閉編碼輸出功能
// escape 可以防范 XSS 攻擊
escape: true,
// 啟動模板引擎調試模式。如果為 true: {cache:false, minimize:false, compileDebug:true}
debug: detectNode ? process.env.NODE_ENV !== 'production' : false,
// bail 如果為 true,編譯錯誤與運行時錯誤都會拋出異常
bail: true,
// 是否開啟緩存
cache: true,
// 是否開啟壓縮。它會運行 htmlMinifier,將頁面 HTML、CSS、CSS 進行壓縮輸出
// 如果模板包含沒有閉合的 HTML 標簽,請不要打開 minimize,否則可能被 htmlMinifier 修復或過濾
minimize: true,
// 是否編譯調試版
compileDebug: false,
// 模板路徑轉換器
resolveFilename: resolveFilename,
// 子模板編譯適配器
include: include,
// HTML 壓縮器。僅在 NodeJS 環境下有效
htmlMinifier: htmlMinifier,
// HTML 壓縮器配置。參見 https://github.com/kangax/html-minifier
htmlMinifierOptions: {
collapseWhitespace: true,
minifyCSS: true,
minifyJS: true,
// 運行時自動合并:rules.map(rule => rule.test)
ignoreCustomFragments: []
},
// 錯誤事件。僅在 bail 為 false 時生效
onerror: onerror,
// 模板文件加載器
loader: loader,
// 緩存中心適配器(依賴 filename 字段)
caches: caches,
// 模板根目錄。如果 filename 字段不是本地路徑,則在 root 查找模板
root: '/',
// 默認后綴名。如果沒有后綴名,則會自動添加 extname
extname: '.art',
// 忽略的變量。被模板編譯器忽略的模板變量列表
ignore: [],
// 導入的模板變量
imports: runtime
```