Pull to refresh

Comments 17

Никогда не забывайте про package.json. Чтобы потом не гадать какие зависимости необходимы вашему серверу.
И ставить модули поэтому надо с ключом --save, например «npm install express --save», тогда этот модуль сразу будет прописан в зависимостях.
Спасибо за поправку, скоро поправлю )
npm install http

Что? Это https://npmjs.com/http, зачем он вам? Это пустой пакет, с одной версией 0.0.0, опубликованной три года назад.
В Node.js есть встроенный модуль http, скорее всего, вы хотели его. Ваша ссылка, кстати, на https://npmjs.com/http-server ведёт почему-то.


И да, как выше сказали — прописывайте зависимости в package.json.


node-modules

node_modules


Вы скачаете архив, и оттуда вы должны достать файл «socket.io.js» и перекинуть в папку с проектом.

Нет-нет-нет-нет. Не надо так делать. Используйте менеджеры зависимостей, например npm или bower — клиентские библиотеки тоже тяните оттуда, тогда они и у вас в репозитории валяться не будут, и обновлять проще, и сразу будет поднятно, какая версия чего.


https://code.jquery.com/jquery-3.1.0.min.js

Для изменения значения textarea? Серьёзно? И нет, не надо так тоже делать — если оно действительно нужно, поставьте зависимостью, не стоит со стороннего CDN тянуть. Помним про videojs.




И, самое главное — зачем socket.io? Почему нельзя было ограничиться штатными вебсокетами?

Совсем забыл:


за это время много чего произошло

Например, появился ECMAScript 2015 с const/let и стрелочными функциями. ESLint круто линтит код. IE9 и встроенный андроид браузер 4.3 (не путать с хромом на андроиде 4.3) умерли, штатные вебсокеты поддерживается всем. Использования jQuery для тривиальных операций не особо-то и нужно уже давно. =).


И да — не в обиду автору, а улучшения ситуации для.


В целом такие статьи с простыми примерами нужны, да.

Не так давно реализовали чат на веб-сокетах с (слава богу) деградацией до поллинга. Какой же это геморой, никому не пожелаю, особенно на нагруженном проекте.
Подключать jquery ради того чтобы «удобно» извлекать текст из поля? Тогда сразу агнуляр на прослушку самого поля ставьте! Мастхэв!
:) jQuery обычно используется в больших проектах, по этому я считаю что проще воспользоваться им в таких случаях -)
jQuery как раз наоборот, года два как повсеместно выпиливается, большой проект с jQuery — либо легаси, либо бэкбон, либо стоит менять тех. лида. В свое время он был хорош, но сейчас избыточен, все его возможности делаются нативно в не особо больший код, а так же он тянет за собой желание неправильной работы (по современным, опять же, меркам) работы с DOM.
Читайте внимательнее шапку ))
>> я так и не смог найти подробного «гайда» по данному модулю

Вот я и помогаю вам его найти.
Пару месяцев назад понадобилась тоже создать чат на socket.io для прохождения собеседования (оно было успешно пройдено). Только задача состояла в том, чтобы создать кластерный чат с сохранением последних 10 сообщений в MongoDB. Если кому интересно, вот ссылочка на репозиторий.

В сокетах есть один подводный камень, который всплывает при работе на кластерах (или многопоточных приложениях). Сокеты ломаются, при использовании протокола long polling, поэтому при создании многопоточного приложения используйте websocket. Так как протокол websocket не всеми старыми браузерами поддерживается, то по умолчанию в socket.io выбран протокол long polling.

Если интересно, то могу написать более подробно в отдельном посте.
** зануда мод
long polling это не протокол
Я так понимаю, автор немножко «отрерайтил» урок от самого socket.io: http://socket.io/get-started/chat/
Socket.IO's «Hello world» is a chat app in just a few lines of code.

И, мягко говоря, непонятно, чем решение автора лучше кода от socket.io.
Хотя, справедливости ради, надо заметить что у них есть досадная ошибка — в jquery-коде они не оборачивают назначение событий в $(function (){, поэтому отправка формы срабатывает не так как надо, и с этим моментом приходится разбираться самому. Автор статьи этого избежал.
Да, я в шапке указал, что не все могут понять что да как там, по этому написал эту статью =)
Если Вы чего-то не поняли, то лучше самому разобраться получше и тогда уже можно… Пойти еще поразбираться.

Это не плохо — изучать, помогать таким же новичкам (я истины не знаю, но статья тянет на новичка).
Но даже если и так, то вряд ли эта статья поможет понять малошарящему, почему используя express-generator(который рекомендует сам express) не получится Вашим способом настроить socket.IO, понять, как работает express, io.attach и прочее. А создать «простой чат на Socket.IO [2016] \ Node.js» можно взяв пример с сайта socket.io (как уже не раз упоминалось выше).

2. log4js # Отличный логгер

Чем этот логгер лучше стандартного 'debug', и почему выбор пал именно на него?
Sign up to leave a comment.

Articles