Awesome
think-view-opx
use sdopx to render view files for ThinkJS 3.x
install
npm install think-view-opx
How To Use
// ./src/config/adapter.js
const opx=require('think-view-opx');
exports.view = {
type: 'opx',
common: {
viewPath: path.join(think.ROOT_PATH, 'view'),
sep: '_',
extname: '.html'
},
opx: {
handle: opx
}
};
更复杂一些的配置
// ./src/config/adapter.js
const opx=require('think-view-opx');
exports.view = {
type: 'opx',
common: {
viewPath: path.join(think.ROOT_PATH, 'view'),
sep: '_',
extname: '.html',
beforeRender: function (opx, option) {
var Sdopx = opx._Sdopx;
//判断避免重复执行注册,只能做一次注册(不推荐)--
if (!Sdopx.loaded) {
//注册函数 或注册其他函数
Sdopx.registerFunction('hello', function (name) {
return 'hello ' + name;
});
Sdopx.loaded = true;
}
//加入配置项,每次渲染都要执行 模板用 {#key#} 读取
opx.assignConfig({
webname: '测试网站',
email: 'test@example.com'
});
}
},
opx: {
handle: opx
}
};
推荐的做法
// ./src/config/sdopx_common.js
const Sdopx = require('sdopx').Sdopx;
//在下面注册你的修饰器 函数 插件等
Sdopx.registerFunction('hello', function (name) {
return 'hello ' + name;
});
// ./src/config/adapter.js
const opx=require('think-view-opx');
require('./sdopx_common.js');
exports.view = {
type: 'opx',
common: {
viewPath: path.join(think.ROOT_PATH, 'view'),
sep: '_',
extname: '.html',
beforeRender: function (opx, option) {
//加入配置项,每次渲染都要执行 模板用 {#key#} 读取
opx.assignConfig({
webname: '测试网站', // 模板中使用 {#webname#} 读取
email: 'test@example.com' // {#email#}
});
}
},
opx: {
handle: opx
}
};