Отправка файла в качестве ответа в Express

В предыдущих уроках мы по запросу отдавали некоторый текст, при этом этот текст мы записывали прямо в функции-обработчике запроса:

app.get('/page/', function(req, res) { res.send('page'); });

В реальной жизни это, конечно же, неудобно, и в качестве ответа будут отдаваться файлы. Пусть, к примеру, у нас есть файл page.html, который мы хотим отдать по некоторому адресу.

Это можно сделать с помощью метода sendFile объекта ответа. Здесь, однако, есть нюансы. Относительный путь к файлу не будет работать (почему-то):

app.get('/page/', function(req, res) { res.sendFile('page.html'); // не будет работать });

Поэтому нам придется использовать абсолютный путь. Сделаем его с помощью __dirname:

import __dirname from './dirname';

Отдадим теперь файл в браузер:

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

Сделайте так, чтобы по пути /page/1/ отдавался файл pages/1.html, по пути /page/2/ - файл pages/2.html, а по пути /page/3/ - файл pages/3.html.