codecamp

ThinkJS Template(模板)

Template Adapter 用来实现支持多种类型的模版引擎,如:ejsswig等。

支持模版引擎类型

  • 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

使用第三方缓存 Adapter

如何使用第三方的缓存 Adapter 请参见 Adapter -> 介绍

ThinkJS WebSocket(即时通讯)
ThinkJS 命令
温馨提示
下载编程狮App,免费阅读超1000+编程语言教程
取消
确定
目录

关闭

MIP.setData({ 'pageTheme' : getCookie('pageTheme') || {'day':true, 'night':false}, 'pageFontSize' : getCookie('pageFontSize') || 20 }); MIP.watch('pageTheme', function(newValue){ setCookie('pageTheme', JSON.stringify(newValue)) }); MIP.watch('pageFontSize', function(newValue){ setCookie('pageFontSize', newValue) }); function setCookie(name, value){ var days = 1; var exp = new Date(); exp.setTime(exp.getTime() + days*24*60*60*1000); document.cookie = name + '=' + value + ';expires=' + exp.toUTCString(); } function getCookie(name){ var reg = new RegExp('(^| )' + name + '=([^;]*)(;|$)'); return document.cookie.match(reg) ? JSON.parse(document.cookie.match(reg)[2]) : null; }