View

视图中间件think_view目前支持 ejs、pug 模板引擎,后续会不断扩展支持其他模板引擎。也欢迎用户自行扩展,然后给我们发pull。

安装

  1. npm i think_view --save

引入中间件

1、项目中增加中间件 middleware/view.js

  1. module.exports = require('think_view');

2、项目中间件配置 config/middleware.js:

  1. list: [...,'view'], //加载的中间件列表
  2. config: { //中间件配置
  3. ...,
  4. view: {
  5. view_path: process.env.APP_PATH + '/view', //模板目录
  6. engine_type: 'ejs', //模版引擎名称 ejs, pug
  7. engine_config: { cache: true }, //模版引擎配置
  8. content_type: 'text/html', //模版输出类型
  9. file_suffix: '.html', //模版文件名后缀
  10. file_depr: '_', //controller和action之间的分隔符
  11. default_theme: 'default', //默认模板主题
  12. }
  13. }

使用

模板赋值:

  1. //控制器中
  2. this.assign(name, value);

获取模板引擎解析的内容:

  1. //控制器中
  2. this.compile(templateFile, data);
  3. //中间件中
  4. ctx.compile(templateFile, data);

输出模板:

  1. //控制器中
  2. this.render(templateFile, charset, contentType);
  3. //中间件中
  4. ctx.render(templateFile, data, charset, contentType);