[TOC=2,3]
Template Adapter 用來實現支持多種類型的模版引擎,如:`ejs`,`swig`等。
## 支持模版引擎類型
* `base`
* `ejs`?ejs 模版引擎
* `jade`
* `swig`?一種支持模版繼承的模版引擎
* `nunjucks`?一種類似 jinja2 的模版引擎,功能非常強大
## 模版引擎配置
模版引擎配置如下,可以在?`src/common/config/view.js`?中修改:
~~~
export default {
type: "ejs",
options: { //具體模版引擎額外的配置
}
};
~~~
## 使用模版引擎
模版引擎會在視圖里自動調用,默認情況不需要手工調用使用。如果在有些場景非要使用的話,可以通過下面的方式加載對應的模版引擎:
~~~
let EjsTemplate = think.adapter("template", "ejs");
let instance = new EjsTemplate(...args);
~~~
## 擴展模版引擎類型
可以通過下面的命令創建一個名為?`foo`?Template 類:
~~~
thinkjs adapter template/foo
~~~
執行完成后,會創建文件?`src/common/adapter/template/foo.js`。擴展緩存類需要實現如下的方法:
~~~
export default class extends think.adapter.template {
/**
* get compiled content
* @params {String} templateFile 模版文件目錄
* @params {Object} tVar 模版變量
* @params {Object} config 模版引擎配置
* @return {Promise} []
*/
run(templateFile, tVar, config){
}
}
~~~
框架里的 Template 實現請見?[https://github.com/75team/thinkjs/tree/master/src/adapter/template](https://github.com/75team/thinkjs/tree/master/src/adapter/template)。
## 使用第三方緩存 Adapter
如何使用第三方的緩存 Adapter 請參見?[Adapter -> 介紹](https://thinkjs.org/zh-CN/doc/2.0/adapter_intro.html#使用第三方-adapter)。
- 快速入門
- 介紹
- 創建項目
- 項目結構
- 代碼規范
- 升級指南
- 進階應用
- 模塊
- 控制器
- 視圖
- 配置
- 路由
- 模型
- 介紹
- 事務
- 關聯模型
- Mysql
- MongoDB
- SQLite
- Adapter
- 介紹
- Cache
- Session
- WebSocket
- Template
- 擴展功能
- thinkjs 命令
- 靜態資源訪問
- Middleware
- Service
- Cookie
- 錯誤處理
- 錯誤信息
- 數據校驗
- 國際化
- 路徑常量
- REST API
- 定時任務
- 線上部署
- 推薦模塊
- API
- think
- think.base
- think.http.base
- http
- controller
- rest controller
- model
- model.mongo
- middleware