Template Adapter 用来实现支持多种类型的模版引擎,如:ejs
,swig
等。
base
ejs
ejs 模版引擎jade
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.base {
/**
* 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。
如何使用第三方的模版 Adapter 请参见 Adapter -> 介绍。