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

    @twoone
    Да, все верно, в данном случае webpack будет лучшим решением. Почитайте о механизме мулти-конфигурации, которая позволяет запускать одновременно несколько конфигураций (в вашем случае это клиент и сервер конфигурации). К тому же стоит напомнить о необходимости в nodemon чтобы перезапускать сервер при изменении его файлов.

    ts-node будет в самый раз для dev разработки исключительно одного сервера.
    Ответ написан
    Комментировать
  • Как отдать на клиент страницу с данными из бд [2020 React SSR with Hook]?

    @twoone
    ssr должен отдавать законченную разметку содержащую всю необходимую информацию. Иначе в нем попросту нет смысла. Запросы к БД это асинхронные операции, а рендер реакта нет. Вызов рендера сравним с вызовом обычной функции, которая вернет результат по выполнению. Она конечно запустит асинхронные обращения к БД, но дожидатся их окончания не будет. Поэтому хуки, которые не являются сервисами, а предназначены для иметации тела класса, не способны разрешить вашу проблему. Хуки созданы для разделения логики работы непосредственно с шаблоном между компонентами. Вы должны строить приложение таким образом чтобы рендер был выполнен со всеми необходимыми данными. Простыми словами работа с данными должа быть вынесена на сервисный слой, который по завершению инициализации используется реактом для получения необходимых данных.
    Ответ написан
    Комментировать
  • Деплой full stack проекта на node js и react?

    @twoone
    Существует два лагеря первый из которых проповедует разделение репозиториев на клиент и сервер, а вторая за объединенный моно-репозиторий. И обе категории правы, поскольку у удних проект состоит из клиента и сервера, а у других один сервер может быть как на множество клиентов, так и на оборот.

    В вашем случае, скорее всего нужно склонятся к монорепозиторию (может потребоватся использование lerna) которые будут состоять из директорий client\server и тому подобное. С дев разработкой можно поступить несколькими путями. Либо запускать реальный сервер (могут возникнуть проблемы с приватными ключами у сторонних разработчиков), либо использовать моки (трбуется постоянная синхронизация которая может быть решена расшариванием моков необходимых для тестирования сервера).

    И для прод сборки и развертывания обязательно используйти ci\cd (github actions например) с помощью которых настроете сборку проекта так как только пожелаете.
    Ответ написан
    Комментировать
  • Разница при обучении javascript backend?

    @twoone
    Поскольку в основе и серверного и клиентского javascript лежит движок v8 синтаксис и основные языковые конструкции идентичны. Разница начинается в реализации api которые у браузера и десктопа значительно отличаются. Кроме того сильно разнятся архитектурные подходы, стек прилегающих технологий (БД, кеширование, nginx, логирование, docker, безопасность, управление нагрузкой, оптимизации которыми на клиенте принебрегают, зачастую администрирование) и повседневные задачи (работа с потоками, понимание сокетов, работа с байтами). Но нельзя сказать что мир фронтенда проще поскольку чуть в сторону от базовых фраймворков, сразу начинается геометрия, svg\сcanvas, анимация, понимание дизайна\арта, не совсем просто dom api.

    Поэтому если вы сомневаетесь с чего начать, то лично я бы посоветовал выбирать между работой с логами в консоли и создания красивого интерфейса. Некоторые вянут в консоли, другие утомляются от красивых анимашек. К чему у вас больше лежит душа? В чем уже есть опыт?
    Ответ написан
    2 комментария