Ответы пользователя по тегу Node.js
  • Как в WebStorm отлаживать связку Node.js бэкенд и React фроненд как единое целое?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Фронт отлаживаете в девтулзах в браузере, бек запускаете напрямую из вебшторма через дебаг скрипта nodejs, и отлаживайте в IDE.

    Если хочется и то и то в вебшторме, то фронт тоже можно запустить вместе с беком и отлаживать в IDE а не в браузере (запускаете два процесса для дебага в вебшторме кроме одного) но это на любителя, мне не нравится и поэтому конкретный конфиг не подскажу. Можно нагуглить.
    Ответ написан
    Комментировать
  • Как в Sequelize сделать where по Virtual полю?

    Robur
    @Robur
    Знаю больше чем это необходимо
    никак, пишите where такой, чтобы он сделал нужный поиск по тем полям что есть в базе.
    Ответ написан
    Комментировать
  • Как подружить React и Бэкенд часть на Node.js?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Но Ajax запросы не получают никакого ответа.

    нет такой ошибки "никакого ответа"
    Либо запрос идет не туда, либо сервер не запускается.

    никакой сложности тут вообще нет - включаете на сервере в ноде cors, и запускаете реакт и сервер на каких угодно портах.
    То что у вас что-то не работает, значит только что вы сделали что-то не так.

    проверьте что сервер запускается и доступен на 3000 порту для начала, хотя бы curl или postman, или просто в браузере откройте этот url.
    Ответ написан
    Комментировать
  • Что необходимо знать, чтобы являться полноценным NodeJS разработчиком?

    Robur
    @Robur
    Знаю больше чем это необходимо
    главное - нужно знать что мало знать, надо уметь.
    перечень нужных технологий за эти 2-3 года не поменялся, тем более для начального уровня.
    Ответ написан
    Комментировать
  • Как правильно реализовать обработку одновременных запросов к бэкенду?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Это вы серезную проблему на самом деле затронули.
    варианта два
    - либо сделать блокировки на уровне БД, где над такой проблемой подумали бородатые дядьки и придумали разные решения (и вам нужна будет нормальная БД)
    - либо поменять систему так чтобы такой проблемы вообще не было - обеспечить обработку только одного заказа в один момент времени, если у вас скрипт работает в единственном экземпляре, то вы можете приостановить обработку всех остальных заказов, если уже какой-то один обрабатывается. Например завести очередь, при поступлении заявки класть ее в эту очередь, брать и обрабатывать по одному от начала и до конца, и когда один заказ полностью завершился и сформирован, брать следующий, обрабатывать его.

    городить какие-то свои блокировки поверх гугл-таблиц - гиблое дело, вы уменьшите вероятность, но не уберете ее полностью.
    Ответ написан
    3 комментария
  • Как можно сохранять данные сессии, чтобы при случайном отключение данные сохранялись?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Сохранять в БД - нормально, если бд сделана не левой пяткой, то на масштабах до тысяч пользователей которые одновременно онлайн будет все быстро. Даже очень быстро.
    самый простой вариант - сохранять у пользователя в localStorage. для 90% случаев этого будет достаточно.
    вариант с сокетами это какое-то извращение. Вы будете хранить такой же объем данных как и с вариантом с БД, только очень кривым, медленным и ненадежным способом.
    Ответ написан
    Комментировать
  • Как правильно передать соединение с базой данных в модель?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Я бы взял готовую ORM, где над этим всем уже подумали (sequelize например) и не изобретал велосипед.

    Если прямо хочется свой велосипед? то ваш подход тоже подойдет.
    Ответ написан
    Комментировать
  • Компилятор nodejs приложений?

    Robur
    @Robur
    Знаю больше чем это необходимо
    babel это и есть "компилятор" для js. с плагинами и прочим. Не уверены - почитайте документацию чтобы понять это то что вам надо или нет. Можно еще всякие бандлеры взять. webpack, rollup.
    Ну или конкретно напишите что за "компилятор" такой вам нужен, что и во что он должен компилировать.
    Ответ написан
    Комментировать
  • Как сортировать пользователей по последнему сообщению в базе mongoose,nodejs?

    Robur
    @Robur
    Знаю больше чем это необходимо
    что-то в духе:
    .aggregate(
        [
            { "$match": { "to": 'admin'  } },    
        { "$group": {_id: "$authorId", "createdAt": {$max: "$cretedAt"}},
          {$lookup: {
     {
             from: "user",
             localField: "_id",
             foreignField: "_id",
             as: "user"
           }
            { "$sort": { "createdAt" : 1 } },
    },
        ])
    Ответ написан
  • Eslint Top level await?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Может неправильно плагин babel подключаю.

    видимо. И вам не плагин нужен, а другой парсер https://github.com/babel/babel/tree/main/eslint/ba...
    Ответ написан
    2 комментария
  • Как проксировать исходящий запрос на Nodejs?

    Robur
    @Robur
    Знаю больше чем это необходимо
    у request есть параметр "proxy"
    и большой раздел в доках
    https://github.com/request/request#proxies
    Ответ написан
    Комментировать
  • Каким способом можно написать бота для игры?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Если вы шарите в этом, скажите реально ли такое написать на NodeJS для того же самого альбиона и какими библиотеками можно это реализовать?


    реально.
    библиотеки найдете когда определитесь каким именно способом вы будете этого бота писать и принцип по которому он будет работать.
    Не найдете - приходите сюда с конкретными вопросами.
    заранее напишу что "библиотеки для бота для альбиона" скорее всего нет.
    Ответ написан
    Комментировать
  • Как организовать плагины для сайта, который написан под nodejs?

    Robur
    @Robur
    Знаю больше чем это необходимо
    вам нужно продумать и разработать апи для плагинов - загрузка, инициализация, передача данных из плагина в систему и обратно, реагирование на события и так далее.
    Это апи зависит от того как у вас там все устроено и что вы хотите плагинам позволить делать.
    может быть любым, от очень простого до очень сложного.
    очень грубо схема такая:
    - добавление/регистрация плагинов. в самом простом виде - путем складывания файлов плагинов в нужную папку.
    - активация/деактивация. В самом простом виде - храните в базе список активированных, либо симлинки в папку откуда все импортируется.
    - инициализация плагина - после загрузки плагина у него вызывается метод инициализации, ему передается всякое, он делает то что плагину нужно для старта
    - плагин регистрирует свои хуки в системе.
    - система во время работы, в нужном месте вызывает хуки из плагина, они делают что надо. Например, загрузка пользователя - вызывается хук, ему передается пользователь, плагин туда добавляет какие-то новые поля, возвращает обратно. Пользователь с новыми полями идет дальше по системе
    - если плагин был деактивирован, у него вызывается соответствующий метод, затем плагин удаляется из списка активных

    дальше это можно развивать и менять как угодно, это зависит от ваших потребностей и целей.
    Ответ написан
    Комментировать
  • Electron+Express. Можно ли так сделать? И есть ли смысл?

    Robur
    @Robur
    Знаю больше чем это необходимо
    сделать можно, будет тот же http что и из браузера, и взломать можно так же.
    разницы между электроном и браузером в этом плане вообще ноль.

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

    Совет один - настройте https и перестаньте бояться "взломов". Лучшей защиты чем чем это вы все равно ничего не сделаете сейчас.
    Ответ написан
    3 комментария
  • Почему Jest не понимает синтаксис ?. в импортируемом файле?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Видимо другой проект у вас не настроен на понимание синтаксиса "?."
    Сообщение от jest вполне информативное
    "This usually means that you are trying to import a file which Jest cannot parse, e.g. it's not plain JavaScript.

    By default, if Jest sees a Babel config, it will use that to transform your files, ignoring "node_modules"."

    вам надо либо положить конфиг бабеля такой же чтобы понимал новый синтаксис, либо компилировать ваш код тем же бабелем в более старый стандарт
    Ответ написан
  • Как отфильтровать капчи от остальных картинок?

    Robur
    @Robur
    Знаю больше чем это необходимо
    капчей может быть какая угодно картинка.
    так что "в общем случае" - никак.

    А если вы что-то знаете про свои капчи, то это уже можете использовать
    например - "все капчи - это грязно-желто-зеленые цифры на белом фоне" - значит ищем изображения где цвета - белый и грязножелтозеленый. Если других нет - то капча, если есть то не капча.

    У вас могут быть какие угодно условия, смотря что за капчи.
    Ответ написан
  • Как создать объект в Mongoose Nodejs?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Вот тут описан проверенный способ. Я проверял, все получилось.
    Не благодарите.
    Ответ написан
    Комментировать
  • Почему происходит "Сайт localhost выполнил переадресацию слишком много раз"?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Заходит пользователь на admin/login чтобы зарегистрироваться. А там ваш кусочек кода срабатывает, смотрит есть ли куки, кук нет, значит отправляем пользователя на admin/login. Идет пользователь на admin/login чтобы зарегистрироваться. А там ваш кусочек кода срабатывает, смотрит есть ли куки, кук нет, значит отправляем пользователя на admin/login. Идет пользователь на admin/login чтобы зарегистрироваться. А там ваш кусочек кода срабатывает, смотрит есть ли куки, кук нет, значит отправляем пользователя на admin/login. Идет пользователь на admin/login чтобы зарегистрироваться. А там ваш кусочек кода срабатывает, смотрит есть ли куки, кук нет, значит отправляем пользователя на admin/login. Заходит пользователь на admin/login ....
    .... проходит время ...

    браузеру это все надоедает и он останавливает этот веселый процесс.
    Ответ написан
    Комментировать
  • Какую версию Node.js учить?

    Robur
    @Robur
    Знаю больше чем это необходимо
    Это примерно то же что и спросить "хочу выучить font-end язык, что сначала выучить - хром v65 а потом нововведения v84 или сразу v84?"
    разница между 12 и 14 версиями ноды заключается в таких вещах которые будут для вас важны после нескольких лет разработки на ноде, серьезного погружения в тему и то не факт. сейчас вообще все равно, не говоря уже о том что когда будте не все равно это будет уже не 14 версия а какая-нибудь 20.
    Ответ написан
    Комментировать