Handlebars helper:编译模板并保留@root

Handlebars helper: Compile template and keep @root

我正在使用 grunt-compile-handlebars 来编译我的车把,但我遇到了问题,在我使用

之后 @root 对象发生了变化
[...]
handlebars.compile(template);
template(context.data);
[...]

所以当我的 json 对象是

{
    "template": "path/to/template",
    "data": {
        "greetings": {...}
    }
 }

这一直是我的 @root 对象。

我有类似的东西:

var handlebars = require('../../node_modules/grunt-compile-handlebars/node_modules/handlebars')     ;

module.exports = function(context) {

    var template = handlebars.partials[context.template];

    template = handlebars.compile(template);

    return new handlebars.SafeString( template(context.data) );

};
{{helper .}}

现在我的 @root 对象是:

"data": {
    "greetings": {...}
}

有什么方法可以在调用 template(...)

时保留 @root

注意:这是一个非常简化的示例。我知道我也可以使用 {{>path/to/template .}}

https://github.com/wycats/handlebars.js/issues/945:

template(context, {data: {root: options.data.root}})