Node.js + Express без использования Jade - PullRequest
41 голосов
/ 22 сентября 2011

Можно ли использовать экспресс без какого-либо шаблонизатора?

Ответы [ 6 ]

30 голосов
/ 23 сентября 2011

Да,

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

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

15 голосов
/ 02 января 2013

ОБНОВЛЕНО

Некоторые могут опасаться, что 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'));
7 голосов
/ 24 декабря 2013

Для тех, кто нуждается в немедленном использовании обычного 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"); 
});
3 голосов
/ 23 сентября 2011

Вы можете автоматически обслуживать статические файлы с помощью 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);

Express теперь автоматически отправляет статические файлы в / your_subdir_with_html_files так:

http://localhost:1337/index.html

http://localhost:1337/otherpage.html

2 голосов
/ 08 декабря 2014

Это все устарело - правильный ответ для 3х, 4х -

Второй ответ здесь: Визуализация базового представления HTML?

2 голосов
/ 27 марта 2014

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

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

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

include index.html

, где index.html - это необработанный HTML, который вы создали.

...