publicclass / express-partials

Express 3.x Layout & Partial support.
182 stars 146 forks source link

Layout Lookup Fails for Subdirectory Templates #11

Closed zzen closed 12 years ago

zzen commented 12 years ago

Example:

var express = require('express'),
partials = require('express-partials')
app = express();

app.use(partials());

app.set('views', __dirname + "/views");
app.get('/', function(req, res, next) { return res.render('web/homepage.html'); });

This will successfully render the template, but will fail on looking up layout.html located in the same folder:

Error: Failed to lookup view "layout.html"
    at Function.render (/Users/jakub/Documents/apiary/node_modules/express/lib/application.js:493:17)
    at ServerResponse.partial (/Users/jakub/Documents/apiary/node_modules/express/lib/response.js:677:7)
    at /Users/jakub/Documents/apiary/node_modules/express-partials/index.js:63:11
    at /Users/jakub/Documents/apiary/node_modules/consolidate/lib/consolidate.js:182:7
    at /Users/jakub/Documents/apiary/node_modules/consolidate/lib/consolidate.js:65:5
    at [object Object].<anonymous> (fs.js:123:5)
    at [object Object].emit (events.js:64:17)
    at Object.oncomplete (fs.js:1188:12)
zzen commented 12 years ago

My hunch is that the web/ prefix of the template is stripped when looking up the layout file, but digging aroud express-partials and express internals got too much for me.