First Electron App

很早就想要用 Electron 來開發 App 了,因為 Web 其實用起來有時候卡卡的
尤其 Electron 出現之後,開發 Web 等同於開發 App,真是令人感到興奮~

開始

  • 建立一個目錄

  • npm init 建立 package.json

  • 安裝 electron-prebuilt

    1
    npm install --save-dev electron-prebuilt

程式內容

簡單的 Hello World!

  • 先建立 app 目錄

  • 產生 app/index.html 檔案,內容很簡單!就是 Hello!

    1
    <h2>Hello</h2>
  • 建立 main.js

    1
    'use strict';
    2
    3
    var app = require('app');
    4
    var BrowserWindow = require('browser-window');
    5
    6
    var mainWindow = null;
    7
    8
    app.on('ready', function() {
    9
        mainWindow = new BrowserWindow({
    10
            height: 600,
    11
            width: 800
    12
        });
    13
    14
        mainWindow.loadURL('file://' + __dirname + '/app/index.html');
    15
    });

執行

因為剛剛安裝了 electron-prebuilt,所以可以直接用下面的指令就可以執行了!

1
node_modules/.bin/electron .

這樣就可以了~

打包

參考 electron-packager

  • 先安裝 electron-packager

  • 參考說明文件,用下面的指令來打包自己的 App。(注意那個版本只的是 Electron 版本,不是你自己 App 的版本)

    1
    $ electron-packager ./ App1 --platform=darwin --arch=x64 --out ~/Desktop/App1 --version 0.36.2 --overwrite
    2
    Packaging app for platform darwin x64 using electron v0.36.2
    3
    Wrote new app to /Users/RickyChiang/Desktop/App1/App1-darwin-x64

    目前 Electron Release 的版本是 0.36.2,可以到 https://github.com/atom/electron/releases 去看

  • electron-packager 命令列的說明可以參考 usage.txt

  • 到桌面看就會有檔案產生了,點兩下就可以執行了

後語

如果要方便執行的話,可以編輯一下 package.json

1
{
2
    "name": "app1",
3
    "version": "1.0.0",
4
    "description": "",
5
    "main": "./main.js",
6
    "scripts": {
7
        "start": "electron .",
8
        "package": "electron-packager ./ App1 --platform=darwin --arch=x64 --out ~/Desktop/App1 --version 0.36.2 --overwrite"
9
    },
10
    "devDependencies": {
11
        "electron-packager": "^5.2.0",
12
        "electron-prebuilt": "^0.36.2"
13
    }
14
}

這樣就可以用 npm start 執行了~
編譯的話,就用 npm run package 就可以了