Compile view templates with EJS for ThinkJS 3.x.
npm install think-view-ejs
edit config file src/config/adapter.js
, add options for ejs adapter:
const ejs = require('think-view-ejs');
exports.view = {
type: 'ejs',
common: {
viewPath: path.join(think.ROOT_PATH, 'view'),
extname: '.html',
sep: '_' //seperator between controller and action
},
ejs: {
//options
handle: ejs,
beforeRender: (ejs, handleOptions) => {
//do something before render the template.
}
}
}
Default options:
const defaultOptions = {
cache: true
}
You can override it and add other options by editing file src/config/adapter.js
:
exports.view = {
type: 'ejs',
ejs: {
handle: ejs,
options: {
//override `cache` option
cache: false
},
beforeRender: (ejs, handleOptions) => {
//do something before render the template.
}
}
}
Please refer to https://github.com/mde/ejs#options for more information on EJS options.
beforeRender
is a function that you can handle something before rendering the template file. It exposes 2 parameters:
ejs
— the originalejs
modulehandleOptions
— current configure of ejs adapter