我很困惑。我的主要问题是,什么时候使用纯 node.js,什么时候应该使用像“express”或“connect”这样的框架/MVC。
我知道“express”只是为“connect”添加了一堆功能,但它到底有什么用呢?比方说,我希望我所有的 HTTP 内容都针对“Apache”服务器执行,并且只使用 node.js 执行部分内容(例如 WebSocket 连接、CouchDB 等)。
在这种情况下出于某种原因使用“快速”或“连接”是否有意义?
据我所知,Socket.IO 还处理 HTTP 请求作为后备,那么使用 Socket.IO 是否足以满足这些需求?
使用 Express/Connect 的最大优势还有什么?
最佳答案
Express(或 Connect)是 HTTP 网络应用程序的应用程序框架。它是您的应用程序的入口点。它提供了一些非常常见的功能,例如:
- HTTP 服务器
- URL 路由
- 请求参数
- session
它还允许轻松使用其他功能(它们称为中间件),例如身份验证处理、模板。
如果你只想通过 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);
});
});
如果您想在更复杂的应用程序、服务页面和 API 中使用 Socket.io,您可以(必须?)将它与 Express 集成(参见 How To Use)
关于javascript - node.js/Express/Connect/Socket.io的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10174926/