0

尝试使用 Jade 作为默认模板的骨干+快递。

按照这里的教程(很棒的教程)

困惑:

许多关于主干的教程使用下划线模板或把手来编译和渲染视图。

我使用 Jade 作为默认模板引擎。我的问题是,如果我使用 Jade,那么我是否必须使用其他模板,如 Handlebar 或下划线。如果不是,我怎样才能在 Jade 中实现以下目标

render: function() {
  var template = $("#booktemplate").html();
  var compiled = Handlebars.compile(template);
  var html = compiled(this.model.attributes);
  this.$el.html(html);
  return this;
},

我的假设:我认为 Jade 和 Handle bar 都是模板系统,可以交替使用。是这样吗?

为什么不同时使用 Jade 和 Handlebar?我不想使用两种不同的语法

#{} from jade / {{}} from Handlebar
4

1 回答 1

3

在浏览器上使用 Jade 并不是一件简单的事情。事情是 Jade 是为服务器端构建的,不支持浏览器。

这就是为什么你会经常看到人们使用两个模板引擎(如果他们使用 Jade)。其他一些人只会在任何地方使用 Handlebars 或 Underscore - 这更容易,因为在浏览器中工作的模板引擎应该在服务器上工作。然而,反过来并不总是正确的。

这里要注意的是,在开始使用模板引擎之前,请确保它支持您希望定位的环境。引擎方面有很多选择,这个网站可以帮助你找到你需要的一个配件:http: //garann.github.io/template-chooser/

如果你真的很喜欢 Jade,那么,你可以使用Browserify 之类的堆栈和一些中间件(Jadeify)在预编译后使其工作。但是您需要接受 browserify 概念并接受每次都预编译所有内容。您可以查看此相关问题以获取更多详细信息:https ://stackoverflow.com/a/6623561/1024223

于 2013-10-18T14:20:38.547 回答