所以这里是交易:我正在try 使用套接字.在一个快速项目中.在Express Js 4发布后,我更新了我的Express generator,现在应用程序的初始功能进入./bin/www文件,包括那些变量(www file contents:http://jsfiddle.net/avMa5/)

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

(按npm install -g express-generator判断,然后按express myApp判断.)

话虽如此,让我们记住如何使用插座.io docs要求我们解雇它:

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

好的,但我不能在应用程序内部完成.js,就像推荐的那样.这应该在一个小时内完成/bin/www以便工作.进来/bin/www这是我能做的,让它工作:

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

好的,这是可行的,但我不能在其他任何地方使用io变量,我真的不想把我的套接字.io在www文件上运行.

我猜这只是基本的语法,但我不能让它工作,即使在www文件中使用module.exports = serverserver.exports = servermodule.exports.io = app(io)也不行

所以问题是:如何使用套接字.io是否将此/bin/www文件作为我的应用程序的起点?

推荐答案

事实证明,这确实是一些基本的sintax问题....我收到了 this socket.io chat tutorial条...

继续/bin/www,刚过var server = app.listen(.....)

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

所以现在我创建了/插座/底座.js文件,然后把这个小家伙放进go :

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

是 啊现在它起作用了...所以我想除了启动插座我真的没有别的 Select 了.io位于/bin/www内,因为我的http服务器就是从这里启动的.

<;3.

Node.js相关问答推荐

在对象的嵌套数组中使用$lookup,创建多个记录作为响应,mongodb

验证器功能在mongoose 中不起作用

Rails 7导入npm yaml包时出现404错误

将图像添加到多个产品的条带 checkout 会话中

Postgressql的BIGSERIAL自增序列,即使由于唯一约束错误没有创建行,也会自动增加

Google App Engine 突然不允许我部署我的 node.js 应用程序

mongoose 7.0.3 使用运算符 $and 严格搜索日期

Next.js 在我的电脑上没有构建错误,但它们在使用 Vercel 部署时发生

将代码转换为 ES6 Discord.js 的问题

MongoDB Aggregate - 如何使用前一阶段的值作为下一阶段的字段名称?

使用Typescript 时我应该避免循环导入吗?

带权限的机密 Rest-Api - 总是 403 - 我做错了什么?

使用 mongoose 查找过go 7 天的注册用户总数

如何正确使用 package.json 中的关键字属性?

如果我使用像 express 这样的 node 服务器,是否需要 webpack-dev-server

搜索MongoDB条目的正确方法是'_id';在 node 中

如何在 Node.js 中等待子进程完成

从 zip 文件在 AWS 中创建 lambda 函数

Heroku + Node:找不到模块错误

expressjs app.VERB 调用中的 next() 和 next('route') 有什么区别?