Невозможно запустить localhost: 3000 в приложении node.js, ошибка: не удалось найти представление "home" в каталоге представлений "./views" - PullRequest
0 голосов
/ 15 марта 2020

Я пытаюсь отобразить мое nodejs приложение через localhost: 3000.

Мой основной JS файл - это "app. js". Я запустил в терминале это: «приложение узла», и ответ был «сервер запущен», но , когда я набираю «localhost: 3000» в моем браузере, терминал показывает это сообщение об ошибке: «Ошибка: не удалось просмотреть представление "home" в каталоге views "C: ... \ views". Затем я запустил в терминале "npm start" и получил тот же ответ "запуск сервера", а затем тот же локальный хост : Ошибка браузера 3000: «Ошибка: не удалось найти представление« home »в каталоге представлений» C: ... \ views ».

Я установил эти пакеты: (1) npm init y- , THEN package. json, (2) express -handlebars (и добавленные файлы views \ main.handlebar + views \ home.handlebars).

Мой код в файле app. js выглядит следующим образом:

const express = require('express');
const exphbs = require('express-handlebars');
const app = express();

app.engine('handlebars', exphbs({ defaultLayout: 'main' }));
app.set('view engine', 'handlebars');

app.use(express.static('public'));

app.get('/', (req, res) => {
  res.render('home', { title: 'Home Page' });
});

app.get('/about', (req, res) => {
  res.render('about', { title: 'About Us Page' });
});

app.listen(3000, () => console.log('server run!'));

Это экран печати, который, возможно, поможет больше

Поиск в вопросах здесь, здесь и здесь не помогли мне решить мою проблему. Что нужно сделать, чтобы исправить и заставить localhost: 3000 нормально работать в моем браузере?

1 Ответ

0 голосов
/ 15 марта 2020

Ваш файл home.handlebars находится в неправильной папке.

Как видно из сообщения об ошибке, он должен быть найден как views/home.handlebars, однако он есть в views/layouts/home.handlebars!

Папка views/layouts должна содержать только макеты (например, main.handlebars, который, по-видимому, настроен как макет).

(я думаю, файл about.handlebars должен go в views также ...)

enter image description here

Вместо этого он должен выглядеть следующим образом:

enter image description here

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...