Как на nodejs рендерить html?

Добрый день!
Делаю вот так:
app.set('view engine', 'html');
app.use(express.static(__dirname + '/public'));
app.get('/', function (req, res) {
    res.render('index.html', {
        isMain: true
    });
});

Во views/ лежат .html
В public/ расположены статические файлы (стили, скрипты, шрифты)
Ошибка:
TypeError: undefined is not a function
   at View.render (/home/slavikse/Документы/coding/shop/node_modules/express/lib/view.js:93:8)
   at EventEmitter.app.render (/home/slavikse/Документы/coding/shop/node_modules/express/lib/application.js:566:10)
   at ServerResponse.res.render (/home/slavikse/Документы/coding/shop/node_modules/express/lib/response.js:938:7)
   at /home/slavikse/Документы/coding/shop/build/main.js:19:9
   at Layer.handle [as handle_request] (/home/slavikse/Документы/coding/shop/node_modules/express/lib/router/layer.js:82:5)
   at next (/home/slavikse/Документы/coding/shop/node_modules/express/lib/router/route.js:110:13)
   at Route.dispatch (/home/slavikse/Документы/coding/shop/node_modules/express/lib/router/route.js:91:3)
   at Layer.handle [as handle_request] (/home/slavikse/Документы/coding/shop/node_modules/express/lib/router/layer.js:82:5)
   at /home/slavikse/Документы/coding/shop/node_modules/express/lib/router/index.js:267:22
   at Function.proto.process_params (/home/slavikse/Документы/coding/shop/node_modules/express/lib/router/index.js:321:12)

.render() для jade отрабатывает как надо. Не пойму как сделать так, чтобы отрабатывал и html?
Спасибо за любую помощь!

Решение:
app.use(express.static(__dirname + '/public'));
res.sendfile(__dirname + '/index.html');
  • Вопрос задан
  • 8827 просмотров
Решения вопроса 1
keksmen
@keksmen
Just a programmer
Если я правильно понял - вы хотите передать html файл на клиентскую стороны (силы:D).
Если так, то статичные html-файлы не нужно "рендерить", достаточно будет просто прочитать их и отдать содержимое клиенту.
Ответ написан
Пригласить эксперта
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы