Ответы пользователя по тегу Express.js
  • Как настраивается обработка роута, где возможна строка запроса?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Если завтра вы захотите сделать получение пользователей по какому-либо принципу (роль, фамилия, дата регистрации), то метод readAll разрастётся ещё сильнее и вы будете передавать в него очень много параметров. Это неправильно.

    Так же у вас ошибка - в методе readAll не может быть и получения всех пользователей, и получения их количества (count). Подсчёт строк - это отдельный метод, который отдельно должен дёргаться в роуте. Метод readAll только получает пользователей.

    Относительно вашей проблемы - проще всего использовать готовую ORM, а не пытаться самому её написать. Но по каким-то причинам ORM не хочется, достаточно сделать вместо нескольких параметров один объект - запрос и передавать его.

    Важно, что передав объект, вы должны его правильно преобразовать в SELECT. Этим может заниматься сам объект, например. А можно написать ещё один, который будет преобразовывать объекты запросов в SQL-строку, которую вы уже будете использовать в readAll.
    Ответ написан
    1 комментарий
  • Как подключить клиенский js и css к express?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    В вопросе вы не указали, что именно не работает, но смею предположить, что указаны неправильные ссылки на статичные файлы.

    Во-первых, строкой
    app.use(express.static(__dirname + '/public/css'));

    Вы открываете доступ только к папке /public/css. Если вы хотите открыть доступ ко всей папке public нужно использовать
    app.use(express.static(__dirname + '/public'));

    Во-вторых, вы подключаете скрипты и стили без ведущего слеша. Если перейти на внутреннюю страницу сайта, например на /subpath, то браузер будет искать стили в /subpath/css/index.css. Нужно загружать стили и скрипты с ведущим слешем, чтобы они всегда брались из корня:
    <link rel="stylesheet" type="text/css" href="/css/index.css">
    Ответ написан
    Комментировать
  • Как перенаправить на 404 при отсутствии use имен?

    TTATPuOT
    @TTATPuOT
    https://code.patriotovsky.ru/
    Последним роутом подключаете *.
    Express будет искать по порядку, если не найдёт совпадений, будет вызван роут на *
    Ответ написан
    Комментировать