2011-09-11 3 views
10

ジェイドは確かに非常にきちんとしていますが、私は個人的にはその構文と外観を嫌います。ジェイドではないノードのテンプレートエンジン

body 
    h1 Hello 
    p This is 
    b bold 

厥クールですべてが、私はまだHTML/XMLのルックアンドフィールを好む:うん、ちょうど書くことができること。それは人間でも機械でも読めるように作られていて、全体的に見るとわかりやすいと思います。概念のように同じジェイドを使用して

<body> 
    <h1>{title}</h1> 
    <p>{content}</p> 
</body> 

は、より多くのような働きを任意のテンプレートエンジンはあります

res.render('index', { 
    title:pageTitle, 
    content:pageContent 
}); 

答えて

3

何かがおそらくNode.js.ためMustacheだろうdemoを確認してください。すでに味の問題だけことができunderscore.js

var compiled = _.template("hello: <%= name %>"); 
compiled({name : 'moe'}); 
=> "hello: moe" 
+0

https://github.com/eshengsky/saker

コードがどのように見えます。 Mustacheと似た構文ですが、やや強力です。 – MartinodF

+0

これは今のところ好きです。下の誰かがジェイドをHTMLで使うことができると言っています。それもチェックしてください。 –

+0

I秒のハンドルバー。それはMustacheに基づいていますが、ヘルパーの追加は私の意見では置き換えられません。 – Mike

1

jQuery templates考えてみましょう。 JSONでデータを提供し、それをテンプレートに適用することができます。

4

EJSをご覧ください。通常のHTMLを使用してJavascriptコードを埋め込むことができます。例えば

<div> 
<% if (foo) { %> 
foo 
<% }else { %> 
bar 
<% } %> 
</div> 

また、あなたが探していることは、「エクスプレス互換の」テンプレートエンジンで、EJSエクスプレス互換性があります。 Expressの背後にある主人公の一人が作ったものです。特にそのように見えます

4

あなたは翡翠にストレートHTMLを使用することができ、この試みを与えます。私は翡翠が好きではなく、HTMLを好む方が良い選択肢です。 ほとんどの場合、webdesignレイアウトは簡単にそれらのテンプレートに変換できません。

サンプル提供口ひげ:

<h1>{{header}}</h1> 
{{#bug}} 
{{/bug}} 

{{#items}} 
    {{#first}} 
    <li><strong>{{name}}</strong></li> 
    {{/first}} 
    {{#link}} 
    <li><a href="{{url}}">{{name}}</a></li> 
    {{/link}} 
{{/items}} 

{{#empty}} 
    <p>The list is empty.</p> 
{{/empty}} 

それはAngular.js構文と混合することができる...それを使っている人のための問題である可能性があります。

+0

ああ、素敵!私はこれを試してみる必要があります。 –

1

0

テンプレートを使用している場合

<body> 
    <h1>#{title}</h1> 
    <p>#{content}</p> 
</body> 
0

私は、新しいテンプレートエンジンをお勧めします。Sakerは、それが流体コーディングワークフローを可能にし、ほとんどのテンプレートの構文とは異なり、明示的にあなたのHTML内のサーバー・ブロックを示すために、あなたのコーディングを中断する必要はありません。
のGithub:[ハンドル](http://www.handlebarsjs.com/)、また

<body> 
    <h1>@title</h1> 
    <p>@content</p> 
</body>