velocity
velocity copied to clipboard
解析并调用一个 非全局的 macro
问题描述: 有两个模版文件 a.vm 和 b.vm, 前者定义了一个 macro ,后者通过 parse 指令解析前者并调用其定义的 macro
在 java 版中这样做是可以的,node 版会报 macro 未定义的错误
详细说明一下,
macro-x.vm ( 定义一个 macro )
#macro(macroX)
<div>
macroX content ...
</div>
#end
test.vm ( 测试模板, 解析 macro-x.vm 然后调用 macroX )
#parse("macro-x.vm")
#macroX()
test.js ( 测试代码 )
'use strict'
var path = require('path')
var Engine = require('velocity').Engine
var engine = new Engine({
root: __dirname,
template: path.resolve(__dirname, 'test.vm')
})
var result = engine.render({})
console.log(result)
报错信息: Error: Call undefined macro.
@fool2fish 这位女侠看样子最近挺忙额 ...
怎么解决的?
@aiwb 没有解决,直接把宏放在全局用了,最后直接放弃 velocity 了 ..