在没有Ember的情况下编译Emblem.js

Hen*_*son 5 javascript handlebars.js ember.js emblem.js

我正在尝试emblem.js.它是Handlebars编写模板的一个非常好的包装器.但是,docs有点ember.js和handlebars.js依赖.我想在没有Ember的情况下使用Emblem.js,但是没有关于如何编译模板的真实解释.

那么我们可以在没有ember的情况下使用emblem.js(或者更好,没有Handlebars依赖)?我现在这样做的方式,我有这个函数来渲染模板:

function render(target, tmpl, data) {
    var source   = tmpl.html();
    var template = Emblem.compile(Handlebars, source);
    var result = template(data);

    target.html(result);
}
Run Code Online (Sandbox Code Playgroud)

这是编译Emblem的正确方法吗?它有效,但我有一种直觉,认为有更好的方法可以做到这一点.在Handlebars中,编译行非常相似:

var template = Handlebars.compile(source);
Run Code Online (Sandbox Code Playgroud)

谢谢你的回答.

Ale*_*eer 7

你实际上正确地做到了.

Emblem编译为Handlebars运行时,因此需要您指定要编译的Handlebars变体.在您的情况下,因为您不需要Ember功能,所以您需要

Emblem.compile(Handlebars, source);
Run Code Online (Sandbox Code Playgroud)

如果您需要Ember支持,则需要使用Ember.Handlebars变体

Emblem.compile(Ember.Handlebars, source);
Run Code Online (Sandbox Code Playgroud)

我肯定会确保将这些内容添加到文档中.