2012-04-16 2 views
3

Я смущен. Главный вопрос, который у меня есть, - когда использовать pure node.js, когда я буду использовать фреймворк/MVC, например «express» или «connect».Связь узла.js/Express/Connect/Socket.io

Я знаю, что «экспресс» просто добавляет кучу функциональности для «подключения», но для чего это действительно полезно? Допустим, я хочу, чтобы все мои HTTP-файлы делали против сервера Apache и делали только частичные вещи с помощью node.js (например, соединения WebSocket, CouchDB и т. Д.).

Имеет ли смысл в этом сценарии использовать «экспресс» или «подключиться» по какой-либо причине?

Насколько я знаю, Socket.IO также обрабатывает HTTP-запросы как резервные, так что этого было бы достаточно, чтобы использовать Socket.IO для этих нужд?

Что еще является большим преимуществом использования Express/Connect?

ответ

5

Экспресс (или Коннект) - это инфраструктура приложения для веб-приложений HTTP. Это точка входа в приложение. Это дает некоторые очень общие functionnalities, такие как:

  • HTTP сервера
  • URL маршрутизации
  • Запрос арг
  • Sessions

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

Если вы просто хотите, чтобы реализовать услуги паба/к югу через SocketIO, без каких-либо страниц или других API, просто использовать библиотеку Socket.io (S.io домашнего пример):

var io = require('socket.io').listen(80); 

io.sockets.on('connection', function (socket) { 
    socket.emit('news', { hello: 'world' }); 
    socket.on('my other event', function (data) { 
     console.log(data); 
    }); 
}); 

Если вы хотите использовать Socket.io в более сложном приложении, обслуживая страницы и API, вы можете (должны?) интегрировать его с Express (см. How To Use)

0

Привет Я использовал Expressjs в течение некоторого времени и нашел его особенно полезным для Jade templating engine, который он предоставляет по умолчанию. Джейд - новый язык шаблонов, и, хотя я признаю, что для знакомства с ним требуется некоторое время, его довольно полезно. Вы можете писать условные обозначения, mixins, передавать переменные на свои страницы, использовать частичные и т. Д. Это просто делает клиентский html очень простым. Кроме того, expressjs настраивает структуру вашего представления, javascript, stylesheets directory ... Если следовать правильно, то поиск ответов и рендеринг html-страниц - это вопрос нескольких строк кода. Как обсуждалось выше, http-стиль одежды намного проще реализовать.

Смежные вопросы