Можно ли использовать выражение без любого механизма шаблонов?
Node.js + Экспресс без использования Jade
Ответ 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 автоматически следующим образом:
Ответ 5
Это все устарело - правильный ответ для 3x, 4x -
Второй ответ здесь: Отрисовать основной HTML-просмотр?
Ответ 6
В вашем основном файле:
app.get('/', function(req, res){
res.render('index');
});
Ваш файл index.jade должен содержать только:
include index.html
где index.html - это необработанный HTML-код.