Javascript Node.js最简单的代码不工作

Javascript Node.js最简单的代码不工作,javascript,html,node.js,websocket,socket.io,Javascript,Html,Node.js,Websocket,Socket.io,因为我是Node.js的新手,正在从不同的文章中学习。到目前为止,我的代码是 使用app.js在服务器端 在客户端使用index.html 在上面的代码中我做错了什么?当我在控制台中运行app.js时,它显示info-socket.io已启动,但当我运行时http://localhost:3000 它只是不断请求服务器 另外,我想知道,在我的电脑上,无论在哪里,我都会为Node创建文件夹,并将app.js和index.html文件(如上所述)放入其中并运行http://localhost:300

因为我是Node.js的新手,正在从不同的文章中学习。到目前为止,我的代码是

使用app.js在服务器端

在客户端使用index.html

在上面的代码中我做错了什么?当我在控制台中运行app.js时,它显示info-socket.io已启动,但当我运行时http://localhost:3000 它只是不断请求服务器


另外,我想知道,在我的电脑上,无论在哪里,我都会为Node创建文件夹,并将app.js和index.html文件(如上所述)放入其中并运行http://localhost:3000 在运行节点控制台中的app.js后,浏览器中的将自动使该文件夹成为本地主机的“我的站点文件夹”?

在您的app.js中更新此文件夹的代码

 var http = require('http'),
     fs = require('fs'), //<--- File Module
     index = fs.readFileSync(__dirname + '/index.html');

 var app = http.createServer(function(req,res)
 {
      res.writeHead(200, {'Content-Type': 'text/html'}); //<-Updated to text/html
      res.end(index); //<---I am sending page
 });

希望这能解决您的问题

您不应该在服务器端执行此操作:

socket.emit('connect',{msg:'Hello Client'});

因为connect是从服务器成功连接时发出的默认事件。因此,当客户端连接时,服务器会触发其默认的“connect”事件,但在这里,您也会触发名为connect的事件,这可能会导致问题。

现在浏览器打开页面并写入Hello,但不会显示警报,因为我已在index.html中编码。然后,您应该在创建服务器时更新代码并发送index.html。查找我更新的代码。谢谢@M Omary的建议。我不知道这个
 var http = require('http'),
     fs = require('fs'), //<--- File Module
     index = fs.readFileSync(__dirname + '/index.html');

 var app = http.createServer(function(req,res)
 {
      res.writeHead(200, {'Content-Type': 'text/html'}); //<-Updated to text/html
      res.end(index); //<---I am sending page
 });
socket.emit('connect',{msg:'Hello Client'});