Отправка ответа¶
Для отправки ответа в express у объекта response можно использовать ряд функций. Самый распространенный способ отправки ответа представляет функция send()
. В качестве параметра эта функция может принимать объект Buffer
, строку, в том числе с html-кодом, объект javascript или массив.
1 2 3 4 5 6 7 8 |
|
Отправка объекта:
1 |
|
Отправка массива:
1 |
|
Отправка объекта:
1 |
|
Объект Buffer
формально представляет некоторые бинарные данные. Так, в случае выше при выполнении кода по умолчанию браузер загрузит файл, в котором будет строка Hello Express
.
sendFile¶
Метод send
удобен для отправки строк, некоторого кода html небольшой длины, однако есть отправляемый код html довольно большой, то соответственно код приложения тоже становится громоздким. Например, мы можем написать так:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 |
|
Однако гораздо лучше определять код html в отдельных файлах и затем эти файлы отправлять с помощью функции sendFile()
.
Например, определим в папке проекта новый файл index.htm
:
1 2 3 4 5 6 7 8 9 10 11 12 |
|
Отправим этот файл с помощью функции sendFile
:
1 2 3 4 5 6 7 8 |
|
В итоге мы получим тот же самый результат.
Следует учитывать, что в функцию sendFile
необходимо передавать абсолютный путь к файлу, именно для этого с помощью __dirname
получаем абсолютный путь к текущему проекту и затем добавляем к нему путь к файлу в рамках текущего проекта.
Отправка статусных кодов¶
Функция sendStatus()
отправляет пользователю определенный статусный код с некоторым сообщением по умолчанию. Например, отправим статусный код 404
, который говорит, что ресурс не найден:
1 2 3 4 5 6 7 8 |
|
Как видно из скриншота, при отправке статусного кода 404
также отправляется сообщение Not Found
. Но, возможно, мы захотим отправлять какие-то свои более информативные сообщения. В этом случае можно использовать комбинацию функции status()
, которая также отправляет статусный код, и функции send()
:
1 2 3 4 5 6 7 8 |
|