Отправка статических файлов¶
Вместо того, чтобы определять код, который получает пользователь, напрямую в файле сервера, гораздо удобнее вынести все в отдельный html-файл. Рассмотрим, как мы можем отправлять статические файла, те же файлы html.
Определим новый каталог проекта. Определим в нем основной файл приложения app.js
. Для статических файлов создадим отдельную папку public
, в которую добавим два файла index.htm
и about.html
. В итоге проект будет выглядеть следующим образом:
app.js
public
about.html
index.htm
В файле index.htm
определим какой-нибудь простейший html-код:
1 2 3 4 5 6 7 8 9 10 11 |
|
Аналогично определим код в файле about.html
:
1 2 3 4 5 6 7 8 9 10 11 |
|
Наша задача будет заключаться в том, чтобы отправить их содержимое пользователю. Для этого поместим в файл app.js
следующий код:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 |
|
Если запрошенный адрес начинается с /public/
, то с помощью метода fs.readFile()
считываем нужный файл по пути и отправляем считанные данные клиенту. В остальных случаях отдаем строку Hello World!
.
Запустим приложение и в браузере обратимся по адресу http://localhost:3000
:
Затем обратимся по адресу http://localhost:3000/public/index.htm
:
Аналогично мы можем обратиться по адресу http://localhost:3000/public/about.html
: