【发布时间】:2014-06-20 02:38:53
【问题描述】:
我已经为服务器编写了这个脚本
var express = require('express'),
app = express(),
server = require('http').createServer(app),
io = require('socket.io').listen(server);
server.listen(3000);
app.get('/' , function(req,res){
res.sendfile(__dirname + '/index.html');
});
io.sockets.on('connection' , function(socket){
socket.on('send message' , function(data){
io.sockets.emit('new message' , data);
});
});
这是聊天页面
<html>
<head>
<title>Chat Program</title>
<style>
#chat{
height:400px;
}
</style>
<script src="http://code.jquery.com/jquery-latest-min.js"></script>
<script src="/node_modules/socket.io/node_modules/socket.io-client/socket.io.js"></script>
<script>
jQuery(function($){
var socket = io.connect();
var $messageform = $('#send-message');
var $messagebox = $('#message');
var $chat = $('#chat');
$messageform.submit(function(e){
e.preventDefault();
socket.emit('send message' , $messagebox.val());
$messagebox.val("");
});
socket.on('new message' , function(data){
$chat.append(data + "<br/>");
});
});
</script>
</head>
<body>
<div id="chat"></div>
<form id="send-message">
<input size="35" id="message"></input>
<input type="submit"></input>
</form>
</body>
</html>
当我从控制台运行脚本时,它运行良好,但是当我在聊天框中写东西时,什么也没有发生...我不知道为什么但我认为我从“npm install socket.io”下载的文件夹-client”有问题。
这条线 ==> <script src="/node_modules/socket.io/node_modules/socket.io-client/socket.io.js"></script>我认为问题就在这里,因为整个代码是正确和正确的(我认为)
提示:我是 Node.js 初学者
【问题讨论】:
-
node_modules在您的公共文件夹中吗?如果没有,您的网页将永远不会获得该文件。将其符号链接到您的公用文件夹中,您应该很好 -
这里的脚本在同一个文件夹中 ==> i.imgur.com/Jgkxqj2.jpg