玉器在meteor模板

在meteor常见问题http://meteor.com/faq/how-do-i-package-a-new-templating-system中,有一些关于添加不同(默认Handlebars)模板系统的信息。 Jade是其他文档中唯一明确指出的其他示例。

那么有人已经在翡翠工作了? 如果不是,我可以开始吗? 还是还为时过早? 例如:

包API快速变化,没有logging,所以你不能自己制作包。 快来了。

我一直试图在我当前的Ember.js项目中爱上把手,但是对于我来说,没有什么东西像玉石一样优雅。

我们很乐意看到Jade整合。 使用packages/handlebars作为模板。

基本策略是将模板引擎的输出连接到Meteor.ui.render ,这是我们如何实现实时页面更新。 只要你的模板返回HTML,这将工作。 Meteor.Collection Jade模板引用Meteor.Collection文档或Sessionvariables时,Meteor都会注册该依赖关系,以便在数据更改时知道重新渲染模板。

更好的是,也使用Meteor.ui.chunkMeteor.ui.listChunk 。 这些将会限制Meteor在发生变化时所需重新计算的数量。 例如,如果您使用Handlebars中的{{#each}}来呈现文档列表,则当新文档进入结果集时,没有理由重新计算整个模板。 我们只是为新文档渲染一个HTML块,然后将其插入到DOM中。 这是listChunk的行动。

所以你很可能会发现, if / unless和/或each玉都让你在那里很长的路程。

请注意,软件包的开发不像系统的其他部分那样。 所以,不要犹豫,随时提出更具体的问题。

meteor> = 0.8.0

使用mquandalle:玉包已正式推荐 。

meteor<= 0.7.2

  1. 如果你使用CoffeeScript,你应该检查出玉手柄 。 在写这篇文章的时候,有一个问题,CoffeeScript模板文件似乎需要被包装在Meteor.startup函数中,这对我来说也是一个问题。

  2. 如果你正在使用CoffeeScript,你应该看看我的Cakefile 。 细节都在说明中,但简短的版本是,它会自动添加/删除/更新HTML文件旁边的玉文件。 我最后添加*.html到我的.gitignore ,这只有在你不在同一个项目中混合使用html和jade时才有效。 这有点破解,但到目前为止它对我来说工作得很好。

只要在Atmosphere上发布我的第一个meteor智能包!

使用Jade +把手而不是HTML +把手

https://atmosphere.meteor.com/package/jade-handlebars

刚刚得到我的Meteor项目的玉模板! 而实际上玉不是玉手柄或者是玉的一半。 这是伟大的,但它需要目前在一个名为blaze-rc1开发版本的meteorUI。 所以目前它不适用于Meteor 0.7。

做'加玉'

用'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