2011-09-11 16 views
10

Jade jest rzeczywiście bardzo czysty, ale osobiście nie podoba mi się jego składnia i wygląd. Tak, będąc w stanie napisać tylko:Templating Engine dla węzła, który NIE Jade

body 
    h1 Hello 
    p This is 
    b bold 

To jest fajne i wszystko, ale wolę wygląd i styl HTML/XML. Został wykonany jako czytelny dla człowieka i maszynowy i ogólnie myślę, że łatwiej jest na nie spojrzeć i zrozumieć.

Czy są jakieś silniki templating, które działają bardziej jak:

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

Korzystanie z samą Jade jak pojęcia:

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

Odpowiedz

3

Wygląda na to, że prawdopodobnie będzie to Mustache dla Node.js. Sprawdź demo.

+0

też [Kierownice] (http://www.handlebarsjs.com/). Podobna składnia do wąsów, ale nieco mocniejsza. – MartinodF

+0

Podoba mi się to do tej pory. Ktoś poniżej powiedział, że możesz użyć Jade z HTML tho. więc też to sprawdzam. –

+0

I druga kierownica. Opiera się na wąsach, ale dodatek pomocników jest moim zdaniem niezastąpiony. – Mike

4

Spójrz na EJS. Pozwala na używanie zwykłego kodu HTML i kodu JavaScript.

Na przykład:

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

Ponadto, co szukasz jest silnik „Express kompatybilne” szablonów i EJS Express jest kompatybilny. Wykonał ją jeden z głównych facetów za Expressem.

4

Można użyć prostego HTML w Jade, spróbuj tego:

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

Och, miło! Muszę to wypróbować. –

1

Jeśli używasz już underscore.js

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

Szablony mogą być tylko kwestia gustu. Nie lubię Jade, a faworyzowanie HTML to lepsza opcja. W większości przypadków układów stron internetowych nie można łatwo przekonwertować na te szablony.

próbka warunkiem wąsy:

<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}} 

może być mieszany ze składnią angularjs ... może być problem dla osób z niej korzystających.

0

Polecam nowy silnik szablonów: Saker, umożliwia on przepływ pracy z kodowaniem płynów, w przeciwieństwie do większości składni szablonów, nie trzeba przerywać kodowania, aby wyraźnie oznaczać bloki serwera w kodzie HTML.
Github: https://github.com/eshengsky/saker

Kod wygląda następująco:

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