Plugin API
日本語
日本語
  • 入門
    • 概要
    • あなたの最初のプラグイン
    • ファイル構造概要
    • プラグインタイプ
      • ウィンドウ
      • バックグラウンドサービス
      • フォーマット拡張
      • インスペクター
    • プラグインのデバッグ
  • 配布
    • プラグインの準備
    • プラグインパッケージ
    • プラグインを公開する
    • プラグインを更新する
    • 開発者ポリシー
    • Plugin Icon Teamplate
  • 開発ガイド
    • manifest.json 設定
    • データ取得
    • データ変更
    • ローカルファイルへのアクセス
    • ネットワークリクエストの送信
    • Node.js ネイティブ API の使用
    • サードパーティモジュールの使用
    • 多言語対応(i18n)
    • フレームレスウィンドウ
  • API 参照
    • event(イベント)
    • item(項目)
    • folder(フォルダー)
    • tag(タグ)
    • tagGroup(タグ グループ)
    • library(ライブラリ)
    • window(ウィンドウ)
    • app(アプリケーション)
    • os(オペレーティングシステム)
    • screen(スクリーン)
    • notification(通知)
    • contextMenu(コンテキストメニュー)
    • dialog(ダイアログ)
    • clipboard(クリップボード)
    • drag(ドラッグファイル)
    • shell(シェル)
    • log(ログ)
  • 追加モジュール
    • FFmpeg
GitBook提供
このページ内
  • fsモジュールを使ってローカルファイルにアクセスする
  • ネイティブダイアログでファイルパスを取得する
  1. 開発ガイド

ローカルファイルへのアクセス

元々のNode.js APIを使ってラクにローカルファイルへアクセスする機能が実現できます。これにより、プラグインシステムでこのようなタスクを実行しやすくなります。


fsモジュールを使ってローカルファイルにアクセスする

Node.js の fs のいくつかの方法を利用して、ローカルファイルのアクセスとローカルファイルシステムの操作が実現できます。例えば、fs.readFile() メソッドを使ってファイルの内容を読み込むことができたり、fs.writeFile() メソッドを使ってファイルに書き込むことができます。以下に例を示します。

const fs = require('fs');

// ファイルを読み込む
fs.readFile('/path/to/file', (err, data) => {
  if (err) throw err;

  console.log(data);
});

// ファイルに書き込む
fs.writeFile('/path/to/file', 'hello world', (err) => {
  if (err) throw err;

  console.log('done');
});

これらのメソッドは非同期であり、UI をブロックしないため、アプリケーションの高いパフォーマンスが保証されます。また、fs モジュールには他にもいくつか便利なメソッドが提供されています。例えば、fs.stat() メソッドを使ってファイルのサイズや作成日時などの情報を取得したり、fs.rename() メソッドを使ってファイル名を変更することができます。fs モジュールを使用することで、ローカルファイルへのアクセスが簡単になります。

🦄 ベストプラクティス: Node.js の sync メソッドはできるだけ使用しないでください。これらのメソッドは UI スレッドをブロックし、ユーザーインターフェースが遅れるため、ユーザーエクスペリエンスが大幅に低下します。また、非同期メソッドを使用することで、プログラムの実行効率が向上し、複数のタスクを同時に処理できるため、プログラムの実行がブロックされません。


ネイティブダイアログでファイルパスを取得する

Eagle Plugin API は、dialog モジュールを提供し、ネイティブシステムダイアログを作成してファイルの保存や選択ができます。以下にいくつかの例を示します。

例1:ファイル選択ダイアログを表示する

let result = await eagle.dialog.showOpenDialog({
    properties: ['openFile', 'openDirectory']
});

例2:保存ダイアログを表示する

let result = await eagle.dialog.showSaveDialog({
    properties: ['openDirectory']
});
前へデータ変更次へネットワークリクエストの送信

最終更新 10 か月前

詳細な説明が必要な場合は、 を参照してください。

dialog モジュール