【发布时间】:2017-08-09 09:14:13
【问题描述】:
我的文件夹结构如下:
socket
- project
- main.js
-node_modules
- node_modules_folder_here
- text.html
我的 main.js 文件如下所示:
var app = require('express')();
var http = require('http').Server(app);
var io = require('socket.io')(http);
app.get('/', function(req, res){
console.log("inside")
res.send('<h1>Hello again</h1>');
});
io.on('connection', function(socket){
console.log("socket")
console.log('a user connected');
});
http.listen(3000, function(){
console.log('listening on *:3000');
});
我正在使用node main.js 运行服务器,一切正常
我的 test.html 看起来像:
<body>
<h3>Hellooww world</h3>
<script src="/socket.io/socket.io.js"></script>
<script type="text/javascript">
var socket = io();
console.log("check io", socket)
</script>
</body>
</html>
我的 package.json 喜欢:
"author": "",
"license": "ISC",
"dependencies": {
"babel-core": "^6.24.0",
"babel-loader": "^6.4.0",
"express": "^4.15.2",
"node-fetch": "^1.6.3",
"promise": "^7.1.1",
"socket.io": "^1.7.3",
"webpack": "^2.2.1",
"xmlhttprequest": "^1.8.0"
我只是按照socket.io 教程并得到了这个错误
GET file:///socket.io/socket.io.js net::ERR_FILE_NOT_FOUND
test.html:10 Uncaught ReferenceError: io is not defined
另外,如果我将此套接字服务器用于另一个项目,如何调用它?
这里有什么问题?我只是在关注 socket.io 教程,我在这里错过了什么?出了什么问题,为什么??
【问题讨论】:
-
使用 npm 安装 socket.io
-
我已经安装了......
-
你把它添加到你的 package.json 了吗?
-
尝试添加引用
-
我没有看到您正在从服务器提供 HTML 文件的任何地方。您需要从 Web 服务器而不是文件系统加载 HTML 文件。因此,您需要在您的网络服务器上创建一个处理程序,而不是服务器您的 HTML 文件,然后您需要从您的网络服务器加载网页。