对于学校作业,我必须修改在cloud9.io上创建新的Node.js工作区时打开的示例聊天应用程序。当我查看代码试图弄清楚发生了什么以及我需要改变什么时,我尝试放入一些console.log来查看当时发生的事情,但由于某些原因,大多数console.logs从未打印在我运行应用程序时控制台。所以我试图理解这段代码并需要一些帮助!
未打印console.log的一个示例: 来自index.html
<script>
function ChatController($scope) {
var socket = io.connect();
// ...
// some more $scope.on function
$scope.send = function send() {
console.log('Sending message:', $scope.text); // this one gets printed
socket.emit('message', $scope.text);
$scope.text = '';
};
}
</script>
来自server.js
io.on('connection', function (socket) {
messages.forEach(function (data) {
socket.emit('message', data);
});
// this is the code that i don't get. I thought if I send a message,
// the socket.emit('message', $scope.text) would call this
// socket.on('message' ...) to send the msg, but the text in
// console.log is never printed in the console
socket.on('message', function (msg) {
console.log("sending a message?"); // does not get printed
var text = String(msg || '');
if (!text)
return;
socket.get('name', function (err, name) {
var data = {
name: name,
text: text
};
broadcast('message', data);
messages.push(data);
});
});
});
所以,是的,如果你们能引导我一点点,那就太好了! 谢谢!
答案 0 :(得分:0)
console.log
将会有两个不同的地方。对于您的index.html
文件,他们会转到浏览器控制台,对于您的server.js
文件,他们会转到您在Cloud9中运行该应用的终端。检查您要查找的特定日志的位置,您应该找到它们!