Pregunta

Jade es realmente muy ordenado, pero personalmente no me gusta la sintaxis y lo mira. Sí, poder escribir solo:

body
  h1 Hello
  p This is 
    b bold

Eso es genial y todo, pero prefiero la apariencia de HTML/XML todavía. Fue hecho para ser humano y legible y, en general, creo que es más fácil mirar y comprender.

¿Hay algún motivador de plantilla que funcione más como:

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

Usando el mismo concepto de jade de:

res.render('index', {
  title:pageTitle,
  content:pageContent
});
¿Fue útil?

Solución

Algo que se ve específicamente como eso probablemente sería Bigote para node.js. Comprobar el manifestación.

Otros consejos

Echa un vistazo a EJS. Le permite usar HTML regular e incrustar el código JavaScript.

Por ejemplo:

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

Además, lo que está buscando es un motor de plantilla "expresa compatible", y EJS es expresa compatible. Está hecho por uno de los chicos principales detrás de Express.

Puedes usar html recto en jade, probar esto:

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

Considerar plantillas jQuery. Puede proporcionar sus datos en JSON y aplicarlos a una plantilla.

Si ya estás usando subrayado.js

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

Las plantillas pueden ser solo una cuestión de gusto. Tampoco me gusta Jade y favorecer HTML es una mejor opción. La mayoría de las veces, los diseños de diseño web no se pueden convertir fácilmente a esas plantillas.

la muestra proporcionó bigote:

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

Se puede mezclar con la sintaxis Angular.js ... podría ser un problema para las personas que lo usan.

Recomiendo un nuevo motor de plantilla: saker, permite el flujo de trabajo de codificación de fluidos, a diferencia de la mayoría de las sintaxis de plantilla, no necesita interrumpir su codificación para denotar explícitamente los bloques del servidor dentro de su HTML.
GitHub: https://github.com/eshengsky/saker

El código parece:

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

Yo personalmente uso Monjas con todos mis proyectos de nodo JS durante algunos años y aún me encanta. Cambié de Swig porque Swig faltaba algo de extensibilidad cuando un proyecto se volvió más complejo.

Yo tampoco soy fanático de Jade / Pug. Prefiero la sintaxis HTML normal e inyectar algunos esquemas de plantilla personalizados.

Licenciado bajo: CC-BY-SA con atribución
No afiliado a StackOverflow
scroll top