【问题标题】:console.log() does not appear in my terminal (nwjs)console.log() 没有出现在我的终端(nwjs)中
【发布时间】:2015-06-12 08:38:48
【问题描述】:

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

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

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

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() 回调中的 console.log() 出现在我的终端中时,我尝试从 server.js 文件记录的任何消息(之前需要)永远不会出现在任何地方。

有什么想法吗?

根据 nwjs wiki,通过 require() 加载的任何文件都应该在 Node 上下文中运行(而我的似乎是这样)——但无论出于何种原因,我都不能使用 console.log() 查看记录的信息。

【问题讨论】:

  • 第一个代码块显示 '_launch.css',而不是 js 文件包含。这只是您粘贴的错误代码吗?
  • 哎呀,是的,我剪切了 HTML 文件的错误部分。现已更新。

标签: javascript node.js node-webkit nw.js


【解决方案1】:

您必须通过右键单击您的应用并从上下文菜单中选择 Inspect background page 选项来运行 DevTools for Background Page。


click for full size image

这是一个相关的错误报告:0.13-beta3 console.log doesn't work in node context

【讨论】:

  • 这对我有用,它应该是公认的答案!
【解决方案2】:

只需在 package.json 中将 --enable-logging=stderr 传递给 chromium-args

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

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

【讨论】:

    【解决方案3】:

    请查看 nw.js wiki 中的changes related to node 列表。

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

    【讨论】:

    • 问题是我在控制台中看不到它。
    • 我可以在 Linux (openSUSE) 的控制台窗口和 Windows (Windows 10) 的“开发人员工具窗口的控制台选项卡”中看到 console.log 的输出。
    • 很抱歉一年后将其标记为答案...但对我来说似乎确实如此。
    猜你喜欢
    • 2018-04-02
    • 2022-11-24
    • 2014-07-26
    • 2019-01-20
    • 1970-01-01
    • 2020-01-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多