当前位置: 首页 > 面试题库 >

在Express 4和express-generator的/ bin / www中使用socket.io

安泰平
2023-03-14
问题内容

所以这是交易:我正在尝试在一个快速项目中使用socket.io。启动Express Js 4之后,我更新了express-
generator,现在应用程序的初始功能进入了./bin/www文件

var server = app.listen(app.get('port'), function() {..}

(检查通过npm install -g express-generator,然后express myApp

话虽这么说,让我们记住socket.io文档如何要求我们将其触发:

var app = require('express').createServer();
var io = require('socket.io')(app);

好的,但是我无法像推荐的那样在app.js中执行此操作。为了正常工作,这应该在./bin/www中完成。在./bin/www中,这是我可以做的事情:

var io = require('socket.io')(server)

好的,这行得通,但是我不能在其他任何地方使用io var,我真的不想将我的socket.io函数放在www文件中。

我想这只是基本语法,但是我什至无法使用它,甚至在www文件上也不使用module.exports = serverorserver.exports = server``module.exports.io = app(io)

因此,问题是:如何使用具有该/ bin / www文件的socket.io作为我的应用程序的起点?


问题答案:

在./bin/www之后 var server = app.listen(.....)

var io = require('socket.io').listen(server);
require('../sockets/base')(io);

所以现在我创建../sockets/base.js文件,并将这个小家伙放进去:

module.exports = function (io) { // io stuff here... io.on('conection..... }

是的 现在它可以工作了……所以我想除了在/bin/www内部启动socket.io之外,我别无选择,因为那是我的http服务器启动的地方。目的是现在我可以在其他文件中构建套接字功能,从而使事物保持模块化require('fileHere')(io);

<3



 类似资料:
  • 我刚开始在Node.js应用程序中学习Express4.0,我发现它生成了文件,在该文件上只编写了应用服务器和端口设置,其他所有东西(如中间件和路由)都在文件中定义。 但是,我不确定这个是做什么的。我使用过Express3.x,并且始终在相同的文件上定义服务器和端口设置以及路由和中间件,并使用启动我的node应用程序。那么使用有什么意义呢?它是否只是将服务器和端口定义与其他分开? 现在,当我使用e

  • 问题内容: 我刚刚开始在Node.js应用程序中学习Express 4.0,我发现它生成了文件,在该文件上仅写入了应用程序服务器和端口设置,并且在文件中定义了其他所有内容(例如中间件和路由)。 但是,我不确定这是做什么的。我使用Express 3.x,并且始终在同一文件中定义服务器和端口设置以及路由和中间件,并使用来启动我的节点应用程序。那么使用的意义何在?它仅将服务器和端口定义与其他定义分开吗?

  • Generator express An Expressjs generator for Yeoman, based on the express command line tool. Features Basic or MVC style file structure CoffeeScript Support Gulp or Grunt build tools with file watchin

  • �� generator-express-no-stress Create awesome Express.js applications with best of breed tech including ES.next via Babel.js, structured logging with Pino, API validation and interactive documentation

  • 我一直在使用Heroku托管和管理我的一个需要SSL证书的网站。在过去的一年半里,我一直在使用ZerigoDNS来管理我的域和SSL重定向(尽管从非https、非www重定向到https和www不起作用)。 我刚刚收到Heroku的通知,他们将很快关闭ZerigoDNS,他们建议切换到PointDNS。我在PointDNS文档中找不到任何关于管理SSL重定向的信息。 我打算这么做: > non-w

  • 问题内容: 我找到了一些代码,他们在不使用Express的情况下设置了Express ,我想知道,在不使用环境说明符的情况下使用和不使用它之间的区别是什么? 换句话说,这有什么区别: 还有这个: 谢谢。 问题答案: 根据文档,它是可选的,并且出于遗留原因保留。在您的示例中,这两段代码完全没有区别。 http://expressjs.com/api.html#app.configure 2015年更