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

    gscraft
    @gscraft
    Программист, философ
    https://docs.mongodb.com/drivers/node/fundamentals... — есть доходчивый пример, нужно запросить искомый элемент { "answers.username": "username" } (искомый элемент массива должен идентифицироваться однозначно, разумеется), но в отличие от примера использовать инкремент https://docs.mongodb.com/manual/reference/operator...$set: { $inc: { likes: 1 } }
    Ответ написан
    Комментировать
  • Почему не работает innerHTML?

    gscraft
    @gscraft
    Программист, философ
    Полагаю, библиотека JSDOM не меняет исходный файл. Вам нужно получить HTML после изменения элемента и передать этот HTML как ответ. Например,

    function getCards() {
      // ... некий код
      return dom.window.document.innerHTML;
    }
    // в обработчике маршрута:
      const html = getCards();
      res.send(html);
    Ответ написан
    6 комментариев
  • Что это - переменные среды, хочу портабл?

    gscraft
    @gscraft
    Программист, философ
    Все верно, если удалить пути из переменных окружения системы, то ни одно приложение системы не будет знать об этих путях, в том числе и командный процессор.

    По пути %USERPROFILE%\AppData\Roaming\npm хранятся исполняемые файлы установленных пакетов npm, которые предоставляют некоторые пакеты. Чтобы изменить этот путь, нужно использовать npmrc по пути установки Node.js. Подробнее — https://docs.npmjs.com/cli/v7/configuring-npm/folders

    Портативная установка подразумевает отсутствие связи с окружением системы, и верным решением будет использование окружения и командного интерпретатора OSPanel, конечно.
    Ответ написан
    2 комментария
  • Как исправить ошибку Parse Error: Expected HTTP/?

    gscraft
    @gscraft
    Программист, философ
    А зачем Вы WebSocket-серверу передаете http-сервер? Просто укажите порт:
    const wss = new WebSocket.Server({port: 80});
    — http лишний.
    Ответ написан
  • Зачем нужны шаблонизаторы в Node.js?

    gscraft
    @gscraft
    Программист, философ
    Это классический подход для любых серверных технологий на PHP, NodeJS, Python, Go, C#, Java и т.д.. По сути есть всего-лишь три варианта для работы веб-приложения: 1) статические данные, когда нечто выдается 1 в 1, HTML, JS, медиа-содержимое 2) динамические данные, когда они формируются стороной сервера и 3) клиентские приложения, когда сервер выдает данные, а формирование отображения и интерфейса происходит на клиенте. Есть так же гибридный подход, когда страницы подгружаются кусками или часть отображения формируется на клиенте.

    Первый подход можно не рассматривать, он сосуществует, а второй — наиболее распространен. Поскольку большая часть сайтов имеют динамическое содержимое, будь то форум, лента новостей, магазин и т.д., все формируется из базы данных и на сервере. Третий подход все больше распространяется, во-первых, потому что нагрузка на сервер ниже, ниже объем передаваемых данных, во-вторых, потому что как правило клиентское приложение быстрее, но такой подход имеет много ограничений и в общем случае слабо совместим банально с поисковыми машинами. Поэтому использование шаблонизаторов, как способа формировать HTML (и другие вещи) на стороне сервера пока еще основной подход в вебе. Попробуйте хотя бы вывести ленту новостей на главную страницу, обойдясь без этого.
    Ответ написан
    Комментировать