2012-06-08 12 views

cevap

3

Express.js, doğru hatırlıyorsam bunu şablon motoruna kadar bırakır. EJ'ler düzenleri desteklemiyorsa, o zaman şansınız kalmaz. Bu modül ile bunu yapabilir

+0

Ekspres dokümantasyona göre mizanpajları destekliyor, ancak henüz doğru şekilde çalışmam gerekiyor. –

+0

3.x kaldırılmış düzenler. Web sitesindeki rehberler 2.x. – Pickels

+0

Bir düzen tanımlamak için ejs-locals kullanabilirsiniz. – aredridel

5

...

https://github.com/aseemk/express-blocks

layout.ejs

<html> 
    <body> 
     <% include nav %> 
     <h1><%= title %></h1> 
     <%- body %> 
    </body> 
</html> 

login.ejs

<% layout('layout') -%> 
<form>...</form> 

nav.ejs

<nav> 
    <% if (session.logged_in) { %> 
    <a href="/account">account</a> 
    <a href="/logout">logout</a> 
    <% } else { %> 
    <a href="/signup">signup</a> 
    <a href="/login">login</a> 
    <% } %> 
    <a href="/">home</a> 
</nav> 

Ekspres kısmi kullanıyorum, ancak ejs ve express 3.x için daha iyi olması için ifade blokları buldum. Kısmi kullanmak, her an veriyi iletmek zorunda olan bir acıydı. <% include whatever %> ile veri zaten erişilebilir. senin yolları dosyasında

, böyle işleyebilen: Aslında

exports.login.get = function(req, res){ 
    res.locals.session = req.session; 
    res.render('login', { title: 'Login to your account' }); 
}; 
9

Ekspres 3.X layout.ejs desteklemez sonra, sen düzenini kullanmak istiyorsanız, adımları izleyerek kendiniz yapılmalıdır :

  1. eklenti bağımlılık "-partials ifade": package.json dosya sende "*"
 
    "dependencies": { 
     "express": "3.1.0", 
     "ejs": "*", 
     "express-partials": "*" 
    } 
  1. size layout.ejs tasarlayabilirsiniz, app.set('view engine', 'ejs');app.js dosya bundan sonra

altında app.js
var partials = require('express-partials');

  • eklenti koduna app.use(partials()); yılında
  • express-partials gerektiren express-partials en son sürümünü yüklemek için npm install yürütmek vedosyanıza <%- body%> bloğunu ekleyin ve bu yeterli ve iyi rimming.

  • +0

    Güzel adam ........ –