Podążam za podstawowym układem aplikacji, który otrzymujesz z Express Generatora i próbujesz skonfigurować go dla Handlebars.Nieudane wyszukiwanie w katalogu z Express Handlebars
Snippet:
var exphbs = require('express-handlebars');
var app = express();
// view engine setup
app.set('views', path.join(__dirname, 'views/'));
app.engine('handlebars', exphbs({defaultLayout: 'main'}));
app.set('view engine', 'handlebars');
Wszystko jest dobrze dopóki nie spróbować i zmienić rozszerzenie na kierownicy do .hbs
następująco:
app.engine('handlebars', exphbs({defaultLayout: 'main', extname: '.hbs'}));
(i zmienić nazwy plików oczywiście).
To skutkuje:
Error: Failed to lookup view "error" in views directory
Szukałem w function ExpressHandlebars(config)
w wyraźnej-handlebars.js źródła i robi próbę ustalenia extname apppropriately.
Co robię źle?
dla nikogo innego, że nie widzi go w pierwszej chwili: Nazwa silnik musi być taka sama jak rozszerzenie pliku. Czy ktoś wie, dlaczego? – musicin3d
@ musicin3d to z pewnością jest jak błąd w Expressie. – bcmcfc
Znalazłem to: https://github.com/strongloop/express/blob/e5ec966b2f068e935ea1b33374fac133dd06cdc8/lib/application.js#L262 – bcmcfc