我正在使用电子并试图在用户单击按钮时打开文件浏览器。在渲染过程中,我试图像这样包含 elctron.dialog 包。
const dialog = require( 'electron' ).dialog;
console.log( dialog );
然而控制台日志的结果是 undefined
我绝对确定我在渲染过程中,所以我不确定为什么这不起作用。文档表明这是正确的做事方式,但它似乎不起作用。
这是我的 package.json
文件
{
"name": "my-app",
"version": "0.1.0",
"main": "./main.js",
"scripts": {
"start": "electron ."
},
"dependencies": {
"electron": "^0.4.1"
}
}
这是我的 main.js
文件
'use strict';
var app = require( 'app' );
var BrowserWindow = require( 'browser-window' );
var ipc = require( 'ipc' );
var mainWindow = null;
app.on(
'ready', function () {
mainWindow = new BrowserWindow(
{
frame : true,
height: 700,
width : 500
}
);
mainWindow.loadUrl( 'file://' + __dirname + '/app/index.html' );
mainWindow.openDevTools();
mainWindow.on(
'closed', function () {
mainWindow = null;
}
);
}
);
ipc.on(
'close-main-window', function () {
app.quit();
}
);
这是渲染的过程文件
// Add your index.js code in this file
var ipc = require( 'ipc' );
const dialog = require( 'electron' ).dialog;
console.log( dialog );
这是控制台
这是不正确的吗?
原文由 Subtubes 发布,翻译遵循 CC BY-SA 4.0 许可协议
经过几个小时的调查后, 有人 向我指出执行此操作的“新”方式 (4/15/16) 如下。
您必须要求
remote
然后从远程要求对话框。看起来你不再需要 requireelectron