这是一个非常天真的问题,因为我是node.js的新手。
我正在运行网站上第一个简单的socket.io示例: http://socket.io/#how-to-use
客户:index.html:
<script src="/socket.io/socket.io.js"></script>
<script>
var socket = io.connect('http://localhost');
socket.on('news', function (data) {
console.log(data);
socket.emit('my other event', { my: 'data' });
});
</script>
server:app.js:
var app = require('http').createServer(handler)
, io = require('socket.io').listen(app)
, fs = require('fs')
app.listen(8080);
function handler (req, res) {
fs.readFile(__dirname + '/index.html',
function (err, data) {
if (err) {
res.writeHead(500);
return res.end('Error loading index.html');
}
res.writeHead(200);
res.end(data);
});
}
io.sockets.on('connection', function (socket) {
socket.emit('news', { hello: 'world' });
socket.on('my other event', function (data) {
console.log(data);
});
});
根据我的理解,我假设将会发生的事情是,当服务器收到来自客户端的请求时,它会将客户端{my: 'data'}
发出的数据输出到控制台,但是它应该发送给客户端数据{hello: 'world'}
,当客户端收到时,它也应该将数据记录到控制台?在终端控制台上,我只看到{my: 'data'}
的每个请求。服务器是不是正确地将数据发送回客户端,还是我找错了地方?
显然我觉得我对一些非常基本的东西感到困惑,但是当告诉客户端在客户端javascript中执行console.log时,输出应该显示在执行服务器程序或其他的终端上吗?如果我需要在浏览器中查看客户端控制台上的输出,我应该在哪里查找?
希望有人可以告诉我这个基本概念,我搜索了很多,但我相信它太简单了,大多数人只是假设人们知道它所以我没有得到太多。
答案 0 :(得分:4)
在Chrome浏览器窗口中的任意位置 - &gt;右键单击菜单 - &gt;检查元素。这将弹出主窗口底部的窗口。从标签'Elements','Resources','Network'选项列表中......导航到'Console'。所有控制台日志都显示在此处。