概要
どうやってNode.jsとElectronのAPIを使うか。
Electron では全ての Node.js のビルトインモジュール が利用可能です。また、サードパーティの Node モジュール (ネイティブモジュールも含む) も完全にサポートされています。
Electron はネイティブのデスクトップアプリケーション開発のための幾つかの追加のビルトインモジュールも提供しています。メインプロセスでだけ使えるモジュールもあれば、レンダラプロセス(ウェブページ)でだけ使えるモジュール、あるいはメインプロセス、レンダラプロセスどちらでも使えるモジュールもあります。
基本的なルールは:GUI、または低レベルのシステムに関連するモジュールはメインモジュールでだけ利用できるべきです。これらのモジュールを使用できるようにするためには メインプロセス対レンダラプロセススクリプトの概念を理解する必要があります。
メインプロセススクリプトは普通の Node.js スクリプトのようなものです:
const {app, BrowserWindow} = require('electron')
let win = null
app.on('ready', () => {
win = new BrowserWindow({width: 800, height: 600})
win.loadURL('https://github.com')
})
レンダラプロセスは Node モジュールを使うための追加機能を除いて、通常のウェブページとなんら違いはありません:
<!DOCTYPE html>
<html>
<body>
<script>
const {app} = require('electron').remote;
console.log(app.getVersion());
</script>
</body>
</html>
アプリケーションを実行については、アプリを実行するを参照してください。
分割代入
0.37の時点で、分割代入でビルトインモジュールの使用をより簡単にできます:
const {app, BrowserWindow} = require('electron')
もしelectron
モジュール全体が必要であれば、requireして、それぞれのモジュールをelectron
からアクセスすることができます。
const electron = require('electron')
const {app, BrowserWindow} = electron
これは、次のコードと同じ意味を持ちます。
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow