我整天都在研究我的第一个将 socket.io 与 Node 和 Express 结合的应用程序,但我似乎无法socket.io.js
在客户端找到我的文件。我已经阅读了许多关于此问题的 SO 问题和其他论坛,但似乎无法让我使用任何推荐的解决方案。
我已经成功安装了 express 和 socket.io,并且在服务器端一切正常(目前只是让它与 Twitter Stream Api 一起工作)。现在我想使用来自emit
客户端的数据,我需要包含我的套接字文件。
我已经将 HoganJS 设置为我的视图引擎。
app.js
这是我的文件的摘录:
app.set('port', process.env.PORT || 3000);
app.set('views', path.join(__dirname, 'views'));
app.set('view engine', 'hjs');
app.use(express.favicon());
app.use(express.logger('dev'));
app.use(express.bodyParser());
app.use(express.methodOverride());
app.use(express.cookieParser('your secret here'));
app.use(express.session());
app.use(app.router);
app.use(require('less-middleware')({ src: path.join(__dirname, 'public') }));
app.use(express.static(path.join(__dirname, 'public')));
我有另一个名为的文件index.js
,这是我的 twitter 和套接字代码所在的位置,这是我的要求行:
var twitter = require('ntwitter');
var io = require('socket.io').listen(3001, {log: false});
// all my twitter setup/functions etc here
io.sockets.emit('tweets' ,data);
现在在客户端,我已经尝试了我能想到的所有可能的路径,包括:
<script src="localhost:3000/socket.io/socket.io.js"></script>
<script src="socket.io/socket.io.js"></script>
还有许多其他路径试图弄清楚如何正确链接它。如果这很明显或在其他地方得到回答,我感到非常抱歉,但我找不到它。
根据 chrome 开发工具,我能想出的任何路径都会导致 404。
非常感谢!