10

Jade は確かに非常に優れていますが、個人的にはその構文と外観が嫌いです。ええ、ただ書くことができます:

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
});
4

8 に答える 8

4

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

例えば:

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

また、探しているのは「Express互換」のテンプレートエンジンであり、EJSはExpress互換です。Expressの背後にいる主要人物の1人によって作られました。

于 2011-09-11T03:11:25.033 に答える
4

Jade ではそのままの HTML を使用できます。これを試してみてください。

<body>
  <h1>#{title}</h1>
  <p>#{content}</p>
</body>
于 2011-09-13T15:59:17.757 に答える
3

特にそのように見えるものは、おそらくNode.jsのMustacheでしょう。デモを確認してください。

于 2011-09-11T03:13:55.317 に答える
1

すでにunderscore.jsを使用している場合

var compiled = _.template("hello: <%= name %>");
compiled({name : 'moe'});
=> "hello: moe"
于 2012-11-26T13:44:04.557 に答える
1

jQuery テンプレートを検討してください。データを JSON で提供し、それをテンプレートに適用できます。

于 2011-09-11T01:50:32.600 に答える
0

テンプレートは好みの問題です。私は Jade も好きではなく、HTML を好む方が良い選択肢です。ほとんどの場合、Web デザインのレイアウトをこれらのテンプレートに簡単に変換することはできません。

サンプル提供の口ひげ:

<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 構文と混在させることができます...それを使用している人にとっては問題になる可能性があります。

于 2015-06-18T19:15:52.473 に答える
0

新しいテンプレート エンジンをお勧めします: Saker、それは流動的なコーディング ワークフローを可能にします。ほとんどのテンプレート構文とは異なり、HTML 内のサーバー ブロックを明示的に示すためにコーディングを中断する必要はありません。
Github: https://github.com/eshengsky/saker

コードは次のようになります。

<body>
    <h1>@title</h1>
    <p>@content</p>
</body>
于 2016-11-26T18:08:49.420 に答える