2012-10-29 10 views
6

Mam pewien problem z plikiem układu EJS w Express 3. Express nie może znaleźć układu do renderowania. Pomija po prostu layout.ejs całkowicie, co oznacza, że ​​dane wyjściowe pomijają wszystkie arkusze stylów i tym podobne.Układy EJS w Express 3

res.render('login', { user: req.user }); 

a część konfiguracji

app.set('views', __dirname + '/views'); 
app.set('view engine', 'ejs'); 

aw layout.ejs Dodałem tag ciała,

<%- body %> 

staram się Jade przed i to działało w porządku, więc problemem jest tylko EJS.

Z góry dziękuję.

+0

Co 'login.ejs' wyglądać? – floatingLomas

+0

Login.ejs dostarczył tylko przycisk logowania do logowania na Facebooku, Wygląda jednak na to, że teraz działa, funkcjonalność układu została zmieniona w Express 3 (patrz odpowiedź poniżej). Dzięki i tak. –

Odpowiedz

11

https://github.com/visionmedia/ejs/issues/48

jestem pewien, czy powyższe zostało zaktualizowane, ale sugeruje, że układ funkcjonalność została zaniechana w wyraźnej 3.

W rezultacie, I zostały z wykorzystaniem Ejs-miejscowych wdrożyć równoważną funkcjonalność :

https://github.com/RandomEtc/ejs-locals

+0

Dodałbym to jako komentarz do pytania, ale brakuje mu wymaganej reputacji. – Michael

+3

Tak, układy i części zostały usunięte w Express 3. Aby je odzyskać, musisz użyć ejs-locals. – chovy

+5

dla każdego, kto szuka "ejs-locals'" nie jest już obsługiwany –