【问题标题】:Show console.log message with socket.io and Express.js on Node.js在 Node.js 上显示带有 socket.io 和 Express.js 的 console.log 消息
【发布时间】:2016-05-10 23:33:14
【问题描述】:

当有人连接到应用程序时,我试图查看没有来自套接字的结果的console.log 消息。这是我在 /app.js/bin/www 文件上的内容:

只是一种在控制台上返回消息以检查套接字是否正常工作的方法

app.js

var express = require('express');
var path = require('path');
var favicon = require('serve-favicon');
var logger = require('morgan');
var cookieParser = require('cookie-parser');
var bodyParser = require('body-parser');
var morgan = require('morgan');
var mongoose = require('mongoose');
var passport = require('passport');
var LocalStrategy = require('passport-local').Strategy;
var session = require('express-session');
var socket = require('socket.io');
var app = express();
// socket.io
var io = socket();
app.io = io;
// var for routes
var index = require('./routes/index');
var users = require('./routes/users');
var projects = require('./routes/projects');
var messages = require('./routes/messages');
//socket message
io.on( "connection", function(socket){
    console.log( "A user connected" );
});

www

var app = require('../app');
var debug = require('debug')('archiers:server');
var http = require('http');

/**
 * Get port from environment and store in Express.
 */

var port = normalizePort(process.env.PORT || '3000');
app.set('port', port);


/**
 * Create HTTP server.
 */
var server = http.createServer(app);

// socket.io

var io = app.io;
io.attach(server);

【问题讨论】:

  • 你说的两个都能上
  • 我认为这个问题很容易理解,只是一种在控制台上返回消息以检查套接字是否工作的方法......
  • 我知道英语不是你的第一语言。如果我粗鲁或粗鲁,我深表歉意。
  • 我在加载应用程序时看不到来自终端“日志”的消息。
  • 请打开浏览器的控制台。控制台在浏览器端提供日志,而app.js 在服务器端。可能是浏览器还没有发起连接。浏览器的控制台可能会显示错误。那里有什么错误吗?

标签: node.js express socket.io


【解决方案1】:

您似乎正在使用一些示例代码(而不是自己编写所有这些代码)。

您使用的示例代码比早期实现目标所需的代码长得多。

  1. 一方面,您的 app.js 没有“侦听”任何端口号 - 因此它不可能连接到工作。

  2. 我可以看到你的 www js 文件会导致 process.env 出错,因为浏览器没有这样的变量。

  3. 由于您在浏览器控制台中没有收到错误消息,这意味着 HTML 文件肯定有问题(到目前为止您还没有发布。

  4. 我预计您正在使用的示例代码还有其他我没有看到的问题。

由于你对代码的细节还不够了解,我建议你重新开始。

您需要从一个较小的项目开始。

在互联网上搜索一个非常小的 io.js 示例,当您下载并运行它并从那里开始时工作

这样会容易得多。

【讨论】:

  • 这并没有提供问题的答案。要批评或要求作者澄清,请在他们的帖子下方留下评论。 - From Review
  • @KevinGuan,回顾我与OP的对话,这是他情况的最终正确答案。我已经扩展了我的答案以澄清 - 这是怎么回事?
  • 我希望看到改进建议,而不是 -1 票。我认为我对 OP 很有帮助。你认为我给出的建议很糟糕吗?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-06-22
  • 1970-01-01
  • 1970-01-01
  • 2016-04-05
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多