console.log()没有出现在我的terminal(nwjs)

在我的nwjs应用程序中,我从HTML文件加载一个_launch.js文件:

<html> <body> <script type="text/javascript" src="_launch.js"></script> </body> </html> 

在我的_launch.js文件中,我启动了一个快速服务器和socketIO所需的Node进程。

 var express = require('express'), app = express(), server = require('http').Server(app), io = require('socket.io')(server), gui = require('nw.gui'), __curDir = process.cwd(), //keep the logic for the IO connections separate ioServer = require(__curDir + '/server.js'); //configure Express to default web requests to /workspace/ folder app.use(express.static(__curDir + '/workspace')); ioServer.init(io, console); server.listen(3000, function () { console.log('HTTP server listening on *:3000'); window.location = 'http://localhost:3000/MyApp/'; }); 

该应用程序启动得很好,我的express / socketIO连接都完美的工作。

但是,当server.listen()callback中的console.log()出现在我的terminal中时,我尝试从server.js文件(以前需要)login的任何消息都不会显示在任何地方。

任何想法为什么?

根据nwjs wiki,通过require()加载的任何文件应该在Node上下文中运行(而且我的performance看上去是这样) – 但是无论如何,我不能使用console.log()来查看日志信息。

请查看nw.js wiki中与节点相关的更改列表。

由于node-webkit支持GUI应用程序而不是控制台应用程序,因此console.log()(以及其他类似的方法,如console.warn()和console.error())的输出被redirect到WebKit的控制台。 您可以在“开发工具”窗口(在其“控制台”选项卡上)看到它。

您必须通过右键单击您的应用程序并从上下文菜单中select“ 检查背景”页面选项来运行DevTools for Background Page。

检查背景页面
点击查看完整大小的图片

这是一个相关的错误报告: 0.13-beta3 console.log在节点上下文中不起作用

只需在你的package.json中传入--enable-logging=stderr

 { ... "chromium-args": "--enable-logging=stderr", ... } 

或者像@Jakub Bejnarowicz指出的那样使用Inspect background page DevTools。