Ошибка: модуль «html» не предоставляет механизм просмотра (Express)

1

Я пытаюсь настроить простое приложение маршрутизации, но я продолжаю использовать int при создании страницы.

Error: Module "html" does not provide a view engine.

Что странно, я указал механизм просмотра в файле app.js, но я все еще получаю ошибку

// app.js

var express = require('express');
var app = express();
var router = express.Router();

// Need to import the route file
var chef = require('./chef');
app.use('/chef', chef);

// Set directory to contain the templates ('views')
app.set('views', __dirname + '/views');

// Set view engine to use
app.set('view engine', 'html');

app.use(function(err, req, res, next) {
  console.error(err.stack);
  res.status(500).send('Something broke!');
});


// chef.js
var express = require('express');
var routes = express.Router();

routes.get('/', (req, res) => {
    //res.send("I'm here!")
    res.render('chef');
});

module.exports = routes;

// views/chef.html
Some HTML file here here ..

В файле chef.js, когда я просто хочу проверить, работает ли маршрут, я раскомментирую res.send... который отправляет "Я здесь" в DOM.

Однако всякий раз, когда я пытаюсь выполнить res.render для отображения страницы chef.html, я получаю ошибку выше. Который я нахожу странным, потому что я установил механизм просмотра в app.js.

Предложения о том, как сделать мой HTML файл?

Теги:
express
routing

1 ответ

2
Лучший ответ

используйте res.sendFile('/fileName.html'); вместо res.render()

для отправки файла мы использовали res.sendFile(fullPath) и если вы используете язык, отличный от HTML, вам следует использовать res.render().

res.render() для шаблона, такого как ejs, pug и т.д.

Ещё вопросы

Сообщество Overcoder
Наверх
Меню