为什么我在尝试使用 Node.js 运行客户端脚本的 shell 中看不到日志?

Why I do not see the log in the shell trying to run client script with Node.js?

我正在尝试 "Server sent event" 使用 express。 我可以通过从浏览器请求数据来获取数据,但我需要详细说明这些数据。 从 shell 运行脚本(客户端)我看不到任何东西。

我做错了什么或者我忘记了什么?

服务器端:

var express = require("express")
, http = require("http")
, fs = require('fs')
, ursa = require('ursa')
, url = require('url')
, querystring = require('querystring')
, jsonObject;


var app = express();

app.use(function(request, response) {
  response.writeHead(200, {
  'Connection': 'keep-alive',
  'Content-Type': 'text/event-stream',
  'Cache-Control': 'no-cache'
  });
  console.log("sending data over eventsource...");
  response.write("\n");
  response.write("data:ok");
});

http.createServer(app).listen(8080);

客户端:

var EventSource = require('eventsource');

var source = new EventSource("http://localhost:8080");
source.addEventListener('data', function (e) {
var log = e.data;
console.log(log);
});

您需要在数据后写一个\n以表示该事件结束。

已解决, 我只是将 addEventListener() 中的事件类型从 'data' 更改为 'message',如下所示:

var EventSource = require("eventsource");

var source = new EventSource("http://localhost:8080");

source.addEventListener("message", function (e) {

var log = e.data;
console.log(log);

});