web-dev-qa-db-ja.com

Electronで開いているファイルのネイティブダイアログを表示する方法

ユーザーがアプリ内のファイル、特にプレーンテキストファイルを開くことができる機能をElectronアプリに追加しようとしています。 Electronのドキュメントを調べたところ、 this ページが見つかりました。このコードをapp.jsファイルに追加しました。このファイルをindex.htmlでリンクしました。

var fs = require('fs');
var dialog = require('electron');
$openFile = $('#openBtn');
$editor = $('#editor');

$openFile.click(function(){
  dialog.showOpenDialog(function(fileNames) {
    if (fileNames === undefined) return;
    var fileName = fileNames[0];

    fs.readFile(fileName, 'utf-8', function (err, data) {
      $editor.val(data);
    });
  });
});

しかし、これを実行すると、コンソールに次のエラーが表示されます:Uncaught TypeError: dialog.showOpenDialog is not a functionリモートを使用しようとしましたが、役に立ちませんでした。

誰かがこの問題を修正する方法を知っていますか?前もって感謝します

9
Inigo Mantoya
const {dialog} = require('electron').remote;

document.querySelector('#selectBtn').addEventListener('click', function (event) {
    dialog.showOpenDialog({
        properties: ['openFile', 'multiSelections']
    }, function (files) {
        if (files !== undefined) {
            // handle files
        }
    });
});
11
KBIIX