[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