Synopsis

所有的 Node.js's 內建模組 都可以在 Electron 使用,而且 第三方的 node 模組同樣的全部支援(包含原生模組

Electron 也提供一些額外的內建模組用來開發原生桌面應用程式,一些模組只可以使用在主行程上 (main process) 一些只可以使用在渲染行程 (renderer process) 上 (網頁) ,另外還有一些 模組在兩邊的行程都可以使用。

基本的規則是: 如果一個模組是 GUI 或者是 low-level 與系統相關的,那麼它就應該只能在主行程上使用 (main process) 你必須要對熟悉 main process vs. renderer process 的觀念,才能去使用這些模組。

主行程 (main process) 腳本是一個像一般 Node.js 的腳本:

var app = require('app');
var BrowserWindow = require('browser-window');

var window = null;

app.on('ready', function() {
  window = new BrowserWindow({width: 800, height: 600});
  window.loadURL('https://github.com');
});

渲染行程 (renderer process) 跟一般正常的網頁沒有差別,而且還能有使用 node 模組的能力:

<!DOCTYPE html>
<html>
  <body>
    <script>
      var remote = require('remote');
      console.log(remote.require('app').getVersion());
    </script>
  </body>
</html>

執行你的應用程式,請閱讀Run your app.