Electron Web App

    更多文章

    說明

    使用 Electron 製作一個跨平台的 Web 桌面應用軟體。

    步驟開始

    建立專案資料夾 - CloudCoinWebApp

    mkdir CloudCoinWebApp
    

    下載檔案:https://github.com/pulipulichen/elec...webapp-wrapper

    git clone https://github.com/pulipulichen/electron-webapp-wrapper
    cp -r electron-webapp-wrapper/src/* CloudCoinWebApp 

    TIP:

    這裡有三個重要檔案與目錄

    index.js
    package.json
    node_modules/

    安裝 Electron 環境與需要的模組
    注意:這些安裝只可用於目前的專案目錄,其他的專案目錄,必須也做一次相同安裝。

    cd CloudCoinWebApp/
    npm install 
    

    編輯 index.js:

    ...
        //var url = config.URL;
        var url = "https://www.cloudcoin.co/bank.html";
    ... 
    

    TIPs:

    url 是 Web App 要存取的網頁位址

    編輯 package.json:

    {
      "name": "CloudConinWebApp",
      "version": "0.0.1",
      "description": "CloudCoin Safe Web App",
      "main": "index.js",
      "scripts": {
        "start": "electron .",
        "package": "electron-packager . CloudConinWebApp --ignore=node_modules/electron-* --arch=x64"
      "dependencies": {
        "electron-debug": "^1.1.0",
        "electron-google-oauth": "^2.0.0",
        "file-exists": "^2.0.0",
        "os-tmpdir": "^1.0.2"
      },
      "devDependencies": {
        "devtron": "^1.4.0",
        "electron-packager": "^8.7.2",
        "electron-prebuilt": "^1.4.13"
      }
    }
    

    TIPs

    build 如果要編譯成 Windows 平台,改成 --platform=win32,CloudCoinWebApp 是自訂的程式名稱

    開始編譯執行檔

    npm run package
    

    TIP

    如果編譯成功,會在現有目錄產生一個 CloudCoinWebApp-linux-x64 目錄,這就是主程式目錄。

    目錄內會有一個同名的執行檔(CloudCoinWebApp)。

    執行主程式

    由於這程式被設計成,執行時必須使用一個 JSON 格式的設定檔,內容的用途:

    • URL:APP 要開啟網站的網址
    • width, height:APP 視窗的大小
    • icon:要顯示 APP 應用軟體在工作列上的圖示
       

    新增程式設定檔:

    cd CloudCoinWebApp-linux-x64/
    vi config.json 
    

    config.json:

    {
        "URL": "http://your-web-server/",
        "width": 650, 
        "height": 900, 
        "skipTaskbar": false, 
        "frame": true,
        "kiosk": false,
        "title": "CloudCoin Safe Web App",
        "icon": "data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAADAAAAAwCAYAAABXAvmHAAAABmJLR...",
        "webPreferences": {
            "devTools": true,
            "webSecurity": false,
            "allowDisplayingInsecureContent": true,
            "allowRunningInsecureContent": true,
            "nodeIntegration": false 
        },
        "openDevTools": false
    } 
    

    執行軟體

    cd CloudCoinWebApp-linux-64
    ./CloudCoinWebApp config.json 
    

    變更軟體的 ICON 圖示

    1. 準備一個合適的 ICON 圖示,筆者使用格式 *.png,大小 48x48。
    2. 對圖檔做 base64 編碼(編碼方法有兩種)
    3. 將編碼後的字串複製貼上到 config.json
       

    內容格式如下:

    "icon": "data:image/png;base64,ThisBase64CodesForYourICON"
    

    更多軟體的其他設定

    以下參數可以用在 config.json

    width、height (Integer):設定高度與寬度
    useContentSize (Boolean):根據內容的尺寸而調整視窗大小,很實用
    center (Boolean):是否置中
    alwaysOnTop (Boolean):是否永遠置頂
    skipTaskbar (Boolean):是否不出現在工作列。這個項目被設為true,那就只能從通知列(Tray)來關閉視窗了。
    frame (Boolean):是否無外框。無外框起來非常像現代的APP,很潮,但不一定好用。
    kiosk (Boolean):全螢幕單視窗模式。想要限制使用者只能用這個視窗時可以使用,非常好用。
    transparent (Boolean):背景是否透明,這樣可以跟其他視窗一起使用。
    

    F.A.Q

    Q: 編譯時發生錯誤 Error: Cannot find module 'os-tmpdir'

    A:

    1. 確認 package.json 有包含 os-tmpdir 相依性設定
    2. 安裝 Electron 環境
    cd CloudCoinWebApp/
    npm install
    
    Q: npm ERR! May not delete: /tmp/electron-packager/linux-x64/Keep-linux-x64/resources/app/node_modules/.bin

    A: Downgrade the npm from 5.3.0 to 5.2.0

    npm -v
    5.3.0
    
    sudo npm install -g npm@5.2.0
    
    Q: Linux 圖示設定錯誤

    Application icon is not set, default Electron icon will be used

    A:兩種方法擇一

    1. 建立目錄 build/icons,將圖示檔命名為 32x32.png, 48x48.png, 128x128.png
    2. build/icon.icns,這是 Mac OS X 預設圖示

    使用方法二,系統會自動轉換 Linux 需要的 PNG 圖示檔,如果轉檔程序失敗,建議改用方法一。

    Q: Linux 設定類別錯誤

    Application category is not set for Linux (linux.category).

    A:如果已經設定如下,可以忽略這錯誤。

    "linux": {
               "category": "Utility",
               "maintainer": "A-Lang <alang.hsu@gmail.com>",
               "target": "AppImage"
             }

     

    標籤 (Edit tags)
    • No tags

    文件 1

    文件大小日期附件上傳者 
     cc_linux_app_new.png
    無描述
    2.15 MB20:18, 6 Aug 2017alang動作
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core