Стоит ли переделывать сервер nodeJS для использования Connect (в основном для каждого пользователя)? - PullRequest
1 голос
/ 14 ноября 2011

В течение последних 6 месяцев я работал над своим собственным приложением nodeJS, где я все собирал сам с нуля. Мой сервер выполняет только пару вещей, так как большая часть работы в моем приложении выполняется на внешнем интерфейсе.

Одна вещь, которую я сейчас рассматриваю, - это система входа пользователя в систему + система аутентификации facebook для приложения. Кажется, что каждая аутентификация - намного более надежная структура для этого, чем что-либо еще там. Тем не менее, вы должны иметь Express или Connect, чтобы использовать это.

В связи с этим я рассматриваю возможность переделки своего кода для использования ConnectJS (главным образом) для этой цели. Тем не менее, мне действительно нравится иметь действительно простой сервер, который делает только то, что ему нужно, и ничего кроме этого. Существуют ли какие-либо другие модули для аутентификации, которые являются такими же надежными, как Every-Auth, для которых не требуется Connect, который кто-либо рекомендовал бы?

А для тех из вас, кто использует Connect - насколько удобны другие функции, которые он предлагает? Стоит ли распаковывать данные, которые будут возвращены сервером? Статический файловый сервер быстрее или отличается от обычного кода nodejs, который делает то же самое?

Я действительно сейчас нахожусь на пределе и буду признателен за любые мысли людей, которые имели опыт программирования приложений nodejs как с Connect, так и без него.

Best
Sami

AMMENDMENT - если каждый запрос, который получает мой сервер, в какой-то момент будет связан с подключением к MongoDB с использованием драйвера node-mongodb-native, это вообще что-то меняет? Я немного сбит с толку относительно того, могу ли я по сути иметь код, который я уже написал, в качестве своего рода модуля, который действует как один из элементов промежуточного программного обеспечения, который я могу добавить для подключения. Если это предложение показывает, что у меня полное недопонимание того, что делает connect, я буду признателен за любые разъяснения.

Ответы [ 2 ]

3 голосов
/ 14 ноября 2011

Connect - это промежуточное ПО.Это означает, что все дело в разделении и внедрении стороннего (читай: вашего и всех остальных) промежуточного программного обеспечения.У Connect нет накладных расходов по сравнению с сервером с прямым узлом.

Connect и Express очень полезны.Я также работал с Everyauth и могу сказать, что это намного проще, чем настраивать все ваши реализации OAuth отдельно (что я и сделал).

Вот несколько ссылок:

http://howtonode.org/connect-it

http://tjholowaychuk.com/post/664516126/connect-middleware-for-nodejs

Экспресс-руководство: http://expressjs.com/guide.html

и аналогичный, но не повторяющийся вопрос в стеке: Что такое Node.js'Connect, Express и "промежуточное ПО"?

1 голос
/ 14 ноября 2011

Не зная подробностей реализации вашего приложения и его функциональных возможностей, трудно дать точную оценку преимуществам, которые Connect принесет вашему приложению, а также сложности перехода.

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

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

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...