2016-01-12 23:46:14 +00:00
# 概要
2016-05-20 12:20:53 +00:00
> どうやってNode.jsとElectronのAPIを使うか。
2017-01-23 02:35:06 +00:00
Electron では全ての [Node.js のビルトインモジュール ](http://nodejs.org/api/ ) が利用可能です。また、サードパーティの Node モジュール ([ネイティブモジュール](../tutorial/using-native-node-modules.md)も含む) も完全にサポートされています。
2016-01-12 23:46:14 +00:00
Electron はネイティブのデスクトップアプリケーション開発のための幾つかの追加のビルトインモジュールも提供しています。メインプロセスでだけ使えるモジュールもあれば、レンダラプロセス(ウェブページ)でだけ使えるモジュール、あるいはメインプロセス、レンダラプロセスどちらでも使えるモジュールもあります。
2016-01-31 15:20:36 +00:00
基本的なルールは:[GUI][gui]、または低レベルのシステムに関連するモジュールはメインモジュールでだけ利用できるべきです。これらのモジュールを使用できるようにするためには [メインプロセス対レンダラプロセス ](../tutorial/quick-start.md#メインプロセス )スクリプトの概念を理解する必要があります。
2016-01-12 23:46:14 +00:00
メインプロセススクリプトは普通の Node.js スクリプトのようなものです:
```javascript
2016-10-03 03:47:16 +00:00
const {app, BrowserWindow} = require('electron')
2016-01-12 23:46:14 +00:00
2016-10-03 03:47:16 +00:00
let win = null
2016-01-12 23:46:14 +00:00
2016-05-20 12:20:53 +00:00
app.on('ready', () => {
2016-10-03 03:47:16 +00:00
win = new BrowserWindow({width: 800, height: 600})
win.loadURL('https://github.com')
})
2016-01-12 23:46:14 +00:00
```
レンダラプロセスは Node モジュールを使うための追加機能を除いて、通常のウェブページとなんら違いはありません:
```html
<!DOCTYPE html>
< html >
< body >
< script >
2016-05-20 12:20:53 +00:00
const {app} = require('electron').remote;
console.log(app.getVersion());
2016-01-12 23:46:14 +00:00
< / script >
< / body >
< / html >
```
アプリケーションを実行については、[アプリを実行する](../tutorial/quick-start.md#アプリを実行する)を参照してください。
## 分割代入
2017-01-23 02:35:06 +00:00
0.37の時点で、[分割代入][desctructuring-assignment]でビルトインモジュールの使用をより簡単にできます:
2016-01-12 23:46:14 +00:00
```javascript
2016-10-03 03:47:16 +00:00
const {app, BrowserWindow} = require('electron')
2016-01-12 23:46:14 +00:00
```
2016-05-20 12:20:53 +00:00
もし`electron`モジュール全体が必要であれば、requireして、それぞれのモジュールを`electron`からアクセスすることができます。
2016-01-12 23:46:14 +00:00
```javascript
2016-10-03 03:47:16 +00:00
const electron = require('electron')
const {app, BrowserWindow} = electron
2016-01-12 23:46:14 +00:00
```
2016-05-20 12:20:53 +00:00
これは、次のコードと同じ意味を持ちます。
2016-01-12 23:46:14 +00:00
```javascript
2016-10-03 03:47:16 +00:00
const electron = require('electron')
const app = electron.app
const BrowserWindow = electron.BrowserWindow
2016-01-12 23:46:14 +00:00
```
[gui]: https://en.wikipedia.org/wiki/Graphical_user_interface
[desctructuring-assignment]: https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Operators/Destructuring_assignment
2016-03-31 23:49:59 +00:00
[issue-387]: https://github.com/electron/electron/issues/387