求:NAE上如何使用socket.io模块?为何出错呢?
发布于 3年前 作者 shaman 1582 次浏览

如题,在入口文件app.js代码如下:

var express = require('express')
    , config = require('./appConfig')
    , route = require('./appRoute')
    , app = module.exports = express.createServer();
//socket
//var socket = require('socket.io'); //这里引入socket.io出错   
//set express config
config.set(app, express);
//Routes
route.set(app);

var port = (process.env.VMC_APP_PORT || 80);
var host = (process.env.VCAP_APP_HOST || 'localhost');
app.listen(port, host, function(){
   console.log("Express started at " + host + ":" + port);
});

在我引入socket.io模块后在NAE IDE里保存重启后,控制台会抛出如下错误: enter image description here

在本地是没有问题的,socket.io模块是安装在和app.js同级的目录node_modules里。 enter image description here

按照API上描述的模块查找过程,最终应该是可以查找到同级的node_modules文件夹,package.json是否需要添加依赖?

5 回复

NAE 上是禁用 child_process 模块的, 直接用是不行了 记得是 socket.io 不用本地上传, 用 NAE 上的版本就正常了 细节不是很确定乱… 半年前的帖 https://groups.google.com/forum/?fromgroups#!searchin/cnodejs/socket.io/cnodejs/TTH4qWtj5tI/hhHOwNwfRFUJ

非常感谢 ,问题解决了 。

可以正常启动了,也能使用NAE上的socket.io模块 ,但是之前本地测试是正常的聊天室 ,上了NAE当我连接后过一会儿就disconnect,会出错在火狐控制台下能看到如下错误: enter image description here

这是什么原因

@shaman 呃还有个 websockets 支持不好的问题, 我是都学 Heroku 把 websockets 禁用的, 试试吧, 不行的话我就不知道了 https://devcenter.heroku.com/articles/using-socket-io-with-node-js-on-heroku/

@jiyinyiyong 哎 ,依然报错。 还是要谢谢兄台提供的资料。

回到顶部