在HTML页面中显示NodeJs的console.log

我有一个服务器app.js和多个客户端,可以连接到我的服务器。 我在index.html显示服务器对客户端的说法,但是我想在客户端与客户端交谈时对服务器执行相同的操作,并在HTML页面中显示我的客户端对服务器所说的内容 。 现在我用console.log()显示它

这里是我的代码 ,我使用的是Socket.io :(我是Javascript新手,这只是一个testing,所以这非常简单)

app.js /服务器

 var http = require('http'), fs = require('fs'), // NEVER use a Sync function except at start-up! index = fs.readFileSync(__dirname + '/index.html'); // Send index.html to all requests var app = http.createServer(function (req, res) { res.writeHead(200, { 'Content-Type': 'text/html' }); res.end(index); }); // Socket.io server listens to our app var io = require('socket.io').listen(app); // Send current time to all connected clients function sendTime() { io.emit('clearance', { time: new Date().toJSON() }); } // Send current time every 10 secs setInterval(sendTime, 10000); // Emit welcome message on connection io.on('connection', function (socket) { // Use socket to communicate with this particular client only, sending it it's own id socket.emit('welcome', { message: 'Welcome!', id: socket.id }); socket.on('i am client', console.log); socket.on('receiveClerance', function (data) { console.log(data); }); }); app.listen(3000); 

的index.html

 <!doctype html> <html> <head> <script src='/socket.io/socket.io.js'></script> <script> var socket = io(); var data = ""; socket.on('welcome', function(data) { addMessage(data.message); // Respond with a message including this clients' id sent from the server socket.emit('i am client', {data: 'foo!', id: data.id}); }); socket.on('clearance', function (data) { addMessage(data.time + data); $data = data; }); socket.on('message', console.log.bind(console)); function addMessage(message) { var text = document.createTextNode(message), el = document.createElement('li'), messages = document.getElementById('messages'); el.appendChild(text); messages.appendChild(el); var btn = document.createElement("BUTTON"); btn.textContent = "Test"; btn.onclick = function () { socket.emit('receiveClerance', "La clerance " + $data + " est recu"); } messages.appendChild(btn); } </script> </head> <body> <ul id='messages'></ul> </body> </html> 

只要将您的console.log(data)更改为socket.emit('message',data)

或者使其成为您可以随处使用的function,如:

 function log(socket,data){ console.log(data); socket.emit('message',data); } 

这样你仍然可以看到你的服务器控制台上的消息。