Node.js 找不到 socket.io - 得到 404
Posted
技术标签:
【中文标题】Node.js 找不到 socket.io - 得到 404【英文标题】:Node.js can't find socket.io - getting 404 【发布时间】:2014-05-26 15:30:03 【问题描述】:这方面已经有很多线程了,我浏览了其中的一些,但由于某种原因,我无法让我的应用程序正常工作。我正在使用具有以下依赖项的节点是 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,在 head 部分包含以下脚本:
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://***.com/questions/19614512/socket-io-socket-io-js-404-not-found
http://***.com/questions/16981396/get-http-localhost3000-socket-io-socket-io-js-
404-not-found
等等。但还是不行。请帮忙。
【问题讨论】:
您在 server.js 文件中的哪里定义了 socket.io 模型? 【参考方案1】:您可以尝试以下方法吗?这将确保您获得 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);
//...
;
【讨论】:
以上是关于Node.js 找不到 socket.io - 得到 404的主要内容,如果未能解决你的问题,请参考以下文章
节点 js 错误:找不到模块 './lib/socket.io'