freeCodeCamp/curriculum/challenges/russian/05-apis-and-microservices/basic-node-and-express/serve-static-assets.russian.md

3.2 KiB
Raw Blame History

id title challengeType forumTopicId localeTitle
587d7fb0367417b2b2512bf0 Serve Static Assets 2 301518 Служить статическим активам

Description

HTML-сервер обычно имеет один или несколько каталогов, которые доступны пользователю. Вы можете разместить там статические ресурсы, необходимые для вашего приложения (таблицы стилей, скрипты, изображения). В Express вы можете реализовать эту функцию, используя промежуточное программное обеспечение express.static(path) , где параметр - это абсолютный путь к папке, содержащей ресурсы. Если вы не знаете, что такое промежуточное программное обеспечение, не беспокойтесь. Об этом мы поговорим позже. В основном промежуточные программы - это функции, которые перехватывают обработчики маршрутов, добавляя некоторую информацию. app.use(path, middlewareFunction) программное обеспечение должно быть смонтировано с использованием метода app.use(path, middlewareFunction) . Первый аргумент пути не является обязательным. Если вы не передадите его, промежуточное программное обеспечение будет выполнено для всех запросов. Установите express.static() промежуточный слой для всех запросов с app.use() . Абсолютный путь к папке ресурсов - __dirname + /public . Теперь ваше приложение должно обслуживать таблицу стилей CSS. Снаружи общедоступная папка будет выглядеть подключенной к корневому каталогу. Ваша первая страница должна выглядеть немного лучше!

Instructions

Mount the express.static() middleware for all requests with app.use(). The absolute path to the assets folder is __dirname + /public. Now your app should be able to serve a CSS stylesheet. From outside, the public folder will appear mounted to the root directory. Your front-page should look a little better now!

Tests

tests:
  - text: Your app should serve asset files from the <code>/public</code> directory
    testString: getUserInput => $.get(getUserInput('url') + '/style.css').then(data => { assert.match(data, /body\s*\{[^\}]*\}/, 'Your app does not serve static assets'); }, xhr => { throw new Error(xhr.responseText); })