Ответы пользователя по тегу Node.js
  • Node js, Как правильно подключить скрипты, картинки и др?

    Проблема в том, что текущая реализация вашего сервера не предусматривает отдачу статических ресурсов (изображений, скриптов и т.п.). Единственный запрос на который может отвечать ваш сервер описан в этом рауте (строки 7-9):

    app.get('/', function(req, res) {
        res.end(index);
    });

    На любой другой запрос сервер ответит ошибкой кода 404, в том числе и на запрос получить статический ресурс.

    Модуль express расширяет функционал модуля connect, у которого есть middleware-обработчик 'static', позволяющий задать путь по которому ваш сервер будет отдавать статические ресурсы.
    Если ресурсы расположены в папке "public", то middleware можно подключить следующей строкой кода:

    app.use(express.static(__dirname + '/public');
    При использовании middleware-обработчиков следует понимать, что они выполняются в том же порядке, в котором они прописываются в коде. Кадый middleware может выполнить один из трёх сценариев:
    1. Прервать цепочку middleware-обработчиков, ответив на запрос пользователя.
    2. Преобразовать объект response и/или request и продолжить выполнение цепочки midleware-обработчиков .
    3. Ничего не делать (просто передать управление следующему middleware)
    Учитывая, что static выполняет первый либо третий сценарии, скорее всего, будет правильно поместить middleware static в начало цепочки, чтобы сразу исключить выполнение последующих middleware, если клиент запрашивает статику.
    Документация по middleware static:
    www.senchalabs.org/connect/static.html
    Ответ написан
    Комментировать