[TOC=2,3]
Template Adapter 用來實(shí)現(xiàn)支持多種類型的模版引擎,如:`ejs`,`swig`等。
## 支持模版引擎類型
* `base`
* `ejs`?ejs 模版引擎
* `jade`
* `swig`?一種支持模版繼承的模版引擎
* `nunjucks`?一種類似 jinja2 的模版引擎,功能非常強(qiáng)大
## 模版引擎配置
模版引擎配置如下,可以在?`src/common/config/view.js`?中修改:
~~~
export default {
type: "ejs",
options: { //具體模版引擎額外的配置
}
};
~~~
## 使用模版引擎
模版引擎會在視圖里自動調(diào)用,默認(rèn)情況不需要手工調(diào)用使用。如果在有些場景非要使用的話,可以通過下面的方式加載對應(yīng)的模版引擎:
~~~
let EjsTemplate = think.adapter("template", "ejs");
let instance = new EjsTemplate(...args);
~~~
## 擴(kuò)展模版引擎類型
可以通過下面的命令創(chuàng)建一個(gè)名為?`foo`?Template 類:
~~~
thinkjs adapter template/foo
~~~
執(zhí)行完成后,會創(chuàng)建文件?`src/common/adapter/template/foo.js`。擴(kuò)展緩存類需要實(shí)現(xiàn)如下的方法:
~~~
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 實(shí)現(xiàn)請見?[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)。
- 快速入門
- 介紹
- 創(chuàng)建項(xiàng)目
- 項(xiàng)目結(jié)構(gòu)
- 代碼規(guī)范
- 升級指南
- 進(jìn)階應(yīng)用
- 模塊
- 控制器
- 視圖
- 配置
- 路由
- 模型
- 介紹
- 事務(wù)
- 關(guān)聯(lián)模型
- Mysql
- MongoDB
- SQLite
- Adapter
- 介紹
- Cache
- Session
- WebSocket
- Template
- 擴(kuò)展功能
- thinkjs 命令
- 靜態(tài)資源訪問
- Middleware
- Service
- Cookie
- 錯(cuò)誤處理
- 錯(cuò)誤信息
- 數(shù)據(jù)校驗(yàn)
- 國際化
- 路徑常量
- REST API
- 定時(shí)任務(wù)
- 線上部署
- 推薦模塊
- API
- think
- think.base
- think.http.base
- http
- controller
- rest controller
- model
- model.mongo
- middleware
