那么是否已经有人在开发 Jade 的相关工作呢?如果没有,我是否可以开始着手开发?还是说现在为时过早?例如:
尽管我一直在尝试使用 Handlebars 在我的 Ember.js 项目中,但对我而言,没有什么比 Jade 更优雅。包 API 正在快速变化,文档尚未完善,因此您目前无法制作自己的软件包。即将推出。
尽管我一直在尝试使用 Handlebars 在我的 Ember.js 项目中,但对我而言,没有什么比 Jade 更优雅。包 API 正在快速变化,文档尚未完善,因此您目前无法制作自己的软件包。即将推出。
我们很希望能够看到Jade的集成。 使用packages/handlebars
作为模板。
基本策略是将模板引擎的输出连接到Meteor.ui.render
中,这就是我们实现实时页面更新的方式。 只要您的模板返回HTML,那么它就能工作。 每次Jade模板引用Meteor.Collection
文档或Session
变量时,Meteor都会注册该依赖项,以便在数据更改时重新渲染模板。
更好的是,还要使用Meteor.ui.chunk
和Meteor.ui.listChunk
。 这些将限制Meteor在更改时必须执行的重新计算量。 例如,如果您正在使用Handlebars语言中的{{#each}}
呈现文档列表,则当新文档进入结果集时没有理由重新计算整个模板。 我们只需为新文档渲染一个HTML块,并将其直接插入DOM中。 这就是listChunk
的作用。
因此,您可能会发现,在Jade中仅检查if
/unless
和for
/each
就可以让您大获成功。
请注意,包开发并没有像系统的其他部分那样得到详细记录。 因此,在您进行开发时,不要犹豫向我们提出更具体的问题。
使用mquandalle:jade包已经被官方推荐。
Meteor.startup
函数中,这对我造成了其他问题。*.html
添加到我的.gitignore
中,这仅适用于不在同一项目中混合使用html和jade的情况。这有点像一个hack,但目前对我来说工作得很好。我刚在Atmosphere上发布了我的第一个Meteor智能包!
使用Jade+Handlebars取代HTML+Handlebars
我刚刚在我的Meteor项目中成功使用了Jade模板!这是真正的Jade而不是jade-handlebars或某种半成品的Jade。它非常棒,但需要Meteor UI,目前在名为blaze-rc1的开发版本中发布。因此,它目前无法与Meteor 0.7一起使用。
执行 'mrt add jade'
&
使用 'mrt --release blaze-rc1' 运行您的Meteor项目
https://github.com/mquandalle/meteor-jade/
如果您在同一个文件夹中同时拥有CoffeeScript和Jade文件,请在文件名前面添加“_”,以便在加载CoffeeScript文件之前先加载Jade文件,否则它将无法正确工作。
mrt add jade
在 client/views/templates/hello.jade
中,你可以这样做:
template(name="hello")
h1 hello world!
{{greeting}}
input(type="button" value="click")
使用mrt
启动您的应用程序