如何将数据或消息记录到我的Electron应用中的控制台?
这是一个非常基本的hello world,默认情况下会打开开发工具,但我无法使用console.log('hi')
。有没有替代Electron的方法?
main.js
var app = require('app');
var BrowserWindow = require('browser-window');
require('crash-reporter').start();
var mainWindow = null;
app.on('window-all-closed', function() {
// Mac OS X - close is done explicitly with Cmd + Q, not just closing windows
if (process.platform != 'darwin') {
app.quit();
}
});
app.on('ready', function(){
mainWindow = new BrowserWindow({ width: 800, height: 600});
mainWindow.loadUrl('file://' + __dirname + '/index.html');
mainWindow.openDevTools();
mainWindow.on('closed', function(){
mainWindow = null;
});
});
发布于 2015-08-01 16:36:09
console.log
可以工作,但它记录到的位置取决于您是从主进程还是渲染器进程调用它。
如果从渲染器进程(即,包含在index.html
文件中的JavaScript )调用它,它将被记录到开发工具窗口。
如果您从主进程(即在main.js
中)调用它,它的工作方式将与在Node中相同-它将记录到终端窗口。如果您正在使用electron .
从终端启动您的电子进程,您可以从那里的主进程看到您的console.log
调用。
发布于 2016-12-02 18:13:23
您还可以在windows中添加环境变量:
ELECTRON_ENABLE_LOGGING=1
这会将控制台消息输出到您的终端。
发布于 2016-12-30 22:50:12
还有另一种方法可以从渲染器进程内部登录到控制台。假设这是Electron,你可以访问Node的原生模块。这包括console
模块。
var nodeConsole = require('console');
var myConsole = new nodeConsole.Console(process.stdout, process.stderr);
myConsole.log('Hello World!');
当此代码从渲染器进程内部运行时,您将在运行电子邮件的终端中获得Hello World!
。
有关console
模块的更多文档,请参阅https://nodejs.org/api/console.html。
https://stackoverflow.com/questions/31759367
复制相似问题