Node.js找不到socket.io – 得到404

已经有很multithreading,我经历了其中的一些,但由于某种原因,我无法让我的应用程序正常工作。 我正在使用节点与以下依赖是package.json:

{ "name": "", "version": "0.0.1", "description": "test app", "dependencies": { "socket.io": "~0.9.6", "mime": "~1.2.7", "express": "3.x" } } 

我用npm安装它没有问题。 在我的server.js中我有:

 var dp = require('./custom_modules/dataProcessing'); var express = require('express'); var http = require('http'); var app = express(); var server = http.createServer(app).listen(3000, function(){ console.log('Express server listening on port 3000'); }); dp.listenToVisitorActivities(server); // serve static content app.use(express.static(__dirname + '/public')); 

现在,至于DP,这是我的自定义模块在目录custom_modules / dataProcessing.js里面(除了所有其他逻辑)我有这样的事情:

 var socket = require('socket.io'); var fs = require('fs'); var listenToVisitorActivities = function(server) { var io = socket.listen(server); //... } exports.listenToVisitorActivities = listenToVisitorActivities; 

最后,我在头部有一些HTML包含以下脚本:

 src="/socket.io/socket.io.js" src="//ajax.googleapis.com/ajax/libs/jquery/1.11.0/jquery.min.js" src="/javascript/webtracker.js" type="text/javascript" 

包含的webtracker.js有以下行:

  var socket = io.connect(); 

jquery和webtracker文件加载正常,静态html页面也是如此。 我得到了socket.io的404。 试了很多东西,包括:

 http://stackoverflow.com/questions/19614512/socket-io-socket-io-js-404-not-found http://stackoverflow.com/questions/16981396/get-http-localhost3000-socket-io-socket-io-js- 404-not-found 

等等,但还是不行。 请帮助。

你可以尝试像下面这样的东西吗? 这将确保你得到你的socket.io模块。

 'use strict'; module.exports = function(Activities) { var socket = require('socket.io'); var fs = require('fs'); Activities.listenToVisitorActivities = function(server) { var io = socket.listen(server); //... };