Подтвердить что ты не робот

Node.js + Экспресс без использования Jade

Можно ли использовать выражение без любого механизма шаблонов?

4b9b3361

Ответ 1

ОБНОВЛЕНО

У некоторых может быть опасение, что sendFile обеспечивает кэширование на стороне клиента. Существуют различные способы кэширования на стороне сервера и поддержание встроенного в вопрос OP вопроса, и вы можете отправить обратно только текст с помощью send:

res.send(cache.get(key));

Ниже был оригинальный ответ от 3+ лет назад:

Для тех, кто ищет альтернативный ответ PavingWays, можно также:

app.get('/', function(req, res) {
  res.sendFile('path/to/index.html');
});

Не нужно писать:

app.use(express['static'](__dirname + '/public'));

Ответ 2

Да,

app.get('/', function(req, res){
  res.render('index.html');
});

должен просто работать

Ответ 3

Для тех, кому необходимо немедленно использовать обычный HTML без jade в новом экспресс-проекте, вы можете это сделать.

Добавьте index.html в папку представлений.

В app.js изменить

app.get('/', routes.index);

к

app.get('/', function(req, res) {
  res.sendfile("views/index.html");
});

UPDATE

Используйте это вместо этого. Для пояснения см. Раздел ниже.

app.get('/', function(req, res) {
  res.sendFile(__dirname + "/views/index.html"); 
});

Ответ 4

Вы можете автоматически загружать статические файлы с помощью Express следующим образом:

// define static files somewhere on top
app.use(express['static'](__dirname + '/your_subdir_with_html_files'));

На самом деле это должно быть express.static(...), но для прохождения JSLint над версиями работает тоже;)

Затем вы запускаете сервер и слушаете, например. на порте 1337:

// app listens on this port
app.listen(1337);

Экспресс теперь выполняет статические файлы в /your _subdir_with_html_files автоматически следующим образом:

http://localhost:1337/index.html

http://localhost:1337/otherpage.html

Ответ 6

В вашем основном файле:

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

Ваш файл index.jade должен содержать только:

include index.html

где index.html - это необработанный HTML-код.