41

Meteor FAQ http://meteor.com/faq/how-do-i-package-a-new-templating-systemには、別の(デフォルトのハンドルバーとは異なる)テンプレートシステムの追加に関する情報があります。Jadeは、ドキュメントの他の場所で明示的に呼び出されている他の唯一の例です。

それで、誰かがすでにジェイドに取り組んでいますか?そうでない場合、私が始めることは可能ですか?それともまだ早すぎますか?例:

パッケージAPIは急速に変化しており、文書化されていないため、まだ独自のパッケージを作成することはできません。近日公開。

私は現在のEmber.jsプロジェクトでハンドルバーを愛そうとしていますが、私にとってはJadeほどエレガントなものはありません。

4

5 に答える 5

22

Jadeの統合を期待しています。packages/handlebarsテンプレートとして使用します。

Meteor.ui.render基本的な戦略は、ライブページの更新を実装する方法であるテンプレートエンジンの出力をワイヤリングすることです。テンプレートがHTMLを返す限り、それは機能します。Meteor.CollectionJadeテンプレートがドキュメントまたは変数を参照するときはいつでもSession、Meteorはその依存関係を登録して、データが変更されたときにテンプレートを再レンダリングすることを認識します。

Meteor.ui.chunkただし、さらに良いのは、 andも使用することMeteor.ui.listChunkです。これらは、変更があったときにMeteorが実行しなければならない再計算の量を制限します。たとえば、{{#each}}Handlebars-speakを使用してドキュメントのリストをレンダリングしている場合、新しいドキュメントが結果セットに入力されたときにテンプレート全体を再計算する理由はありません。新しいドキュメント用に1つのHTMLチャンクをレンダリングし、それをDOMに挿入するだけです。それlistChunkが実行中です。

したがって、Jadeでif/unlessおよびfor/をインストルメント化するだけで、そこまでの道のりが長くなることがわかるでしょう。each

パッケージ開発は、システムの他の部分ほど文書化されていないことに注意してください。ですから、行くにつれてより具体的な質問をすることを躊躇しないでください。

于 2012-04-11T18:43:17.993 に答える
16

流星>=0.8.0

mquandalle:jadeパッケージ の使用が公式に推奨されています。

流星<=0.7.2

  1. CoffeeScriptを使用していない場合は、 jade-handlebarsを確認する必要があります。この記事を書いている時点で、CoffeeScriptテンプレートファイルをMeteor.startup関数内にラップする必要があるように見えるという問題があり、それが私にとって他の問題を引き起こしていました。

  2. CoffeeScriptを使用している場合は、私のCakefileを確認する必要があります。詳細はすべて説明にありますが、短いバージョンでは、jadeファイルと一緒にhtmlファイルを自動的に追加/削除/更新します。に追加*.htmlすることに.gitignoreなりました。これは、同じプロジェクトでhtmlとjadeを混在させていない場合にのみ機能します。ちょっとしたハックですが、今のところうまく機能しています。

于 2013-01-26T21:42:49.137 に答える
10

私の最初の流星スマートパッケージをAtmosphereに公開するだけです!

HTML+Handlebarsの代わりにJade+Handlebarsを使用する

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

于 2013-01-03T04:55:59.263 に答える
3

私のMeteorプロジェクトで作業することを考えている翡翠を手に入れました!そして、それは実際の翡翠であり、翡翠のハンドルバーや翡翠の半分の形ではありません。すばらしいですが、現在blaze-rc1と呼ばれる開発リリースにあるMeteorUIが必要です。そのため、現時点ではMeteor0.7では機能しません。

'mrtaddjade'を実行します

'mrt--releaseblaze-rc1'を使用してmeteorプロジェクトを実行します

https://github.com/mquandalle/meteor-jade/

同じフォルダにcoffeescriptファイルとjadeファイルがある場合は、ファイル名の先頭に_を追加して、coffeescriptファイルの前にjadeファイルをロードします。そうしないと、正しく機能しません。

于 2014-03-14T06:20:10.873 に答える
1

mrt add jade

client/views/templates/hello.jadeあなたはこのようなことをすることができます:

template(name="hello")
  h1 hello world!
  {{greeting}}

  input(type="button" value="click")

アプリを開始するmrt

于 2014-04-25T18:45:49.893 に答える