--- id: 587d7fb0367417b2b2512bef title: Serve an HTML File challengeType: 2 forumTopicId: 301516 localeTitle: Подавать файл HTML --- ## Description
Мы можем ответить файлом, используя метод res.sendFile(path) . Вы можете поместить его в обработчик маршрута app.get('/', ...) . За кулисами этот метод установит соответствующие заголовки, чтобы инструктировать ваш браузер о том, как обрабатывать файл, который вы хотите отправить, в соответствии с его типом. Затем он прочитает и отправит файл. Этот метод требует абсолютного пути к файлу. Мы рекомендуем вам использовать глобальную переменную Node __dirname для вычисления пути. Например, absolutePath = __dirname + relativePath/file.ext . Файл для отправки - /views/index.html . Попробуйте «показать вживую» свое приложение, вы должны увидеть большой HTML-заголовок (и форму, которую мы будем использовать позже…), без применения стиля. Примечание: Вы можете отредактировать решение предыдущей задачи или создать новое. Если вы создаете новое решение, имейте в виду, что Express оценивает маршруты сверху вниз. Он выполняет обработчик для первого совпадения. Вы должны закомментировать предыдущее решение, иначе сервер продолжит отвечать строкой.
## Instructions
Send the /views/index.html file as a response to GET requests to the / path. If you view your live app, you should see a big HTML heading (and a form that we will use later…), with no style applied. Note: You can edit the solution of the previous challenge or create a new one. If you create a new solution, keep in mind that Express evaluates routes from top to bottom, and executes the handler for the first match. You have to comment out the preceding solution, or the server will keep responding with a string.
## Tests
```yml tests: - text: Your app should serve the file views/index.html testString: getUserInput => $.get(getUserInput('url')).then(data => { assert.match(data, /

.*<\/h1>/, 'Your app does not serve the expected HTML'); }, xhr => { throw new Error(xhr.responseText); }) ```