Шаблон Handlebars не отображается в каталоге представлений - PullRequest
0 голосов
/ 18 июня 2020

Это мой index.js код, который должен отображать index.hbs внутри views каталога, но дает ошибку Error: ENOENT no such file or directory, open '__dirname\views\layouts\main.hbs', у меня даже нет папки макетов.

index.js

const express = require('express');
const expressHbs = require('express-handlebars');
const bodyParser = require('body-parser');
const path = require('path')
const app = express();

app.use(bodyParser.urlencoded({extended: false}));

app.set('view engine', 'hbs');
app.engine('hbs', expressHbs({extname: 'hbs'}));
app.set('views', 'views');

app.get('/', (req,res)=> {
   res.render('index');
});

app.listen(3000, ()=> {
    console.log("SERVER HAS STARTED ON PORT 3000");
});

1 Ответ

0 голосов
/ 18 июня 2020

Вам понадобится папка макетов для express -handlebars, чтобы найти ваш index.hbs. По умолчанию handlebars сначала ищет main.hbs, а затем index.hbs, который будет отображаться в main.hbs.

file str

Просто для пояснения в приложении. Engine мое внешнее имя установлено на "html". Надеюсь это поможет. Вы можете прочитать об этом на express - руль

...