Package & Build

    封裝與安裝檔

    package.json

    {
        "name": "CloudConinWebApp",
        "version": "0.0.1",
        "description": "CloudCoin Safe Web App",
        "author": "A-Lang <alang.hsu@gmail.com>",
        "main": "main.js",
        "scripts": {
            "start": "electron .",
            "clean": "rm -rf ./dist",
            "clean-linux": "rm -rf ./dist/*-linux-*",
            "clean-mac": "rm -rf ./dist/*-darwin-*",
    
            "package": "npm run clean && npm run package-linux && npm run package-mac",
            "package-linux": "npm run clean && electron-packager . CloudConinWebApp --out=dist/ --ignore=dist --ignore=node_modules/electron-* --platform=linux --arch=x64",
            "package-mac": "electron-packager . CloudConinWebApp --out=dist/ --ignore=dist --ignore=node_modules/electron-* --platform=darwin --arch=x64",
    
            "build-linux": "npm run package-linux && electron-builder \"dist/CloudConinWebApp-linux-x64\"  --platform=linux --arch=x64"
        },
        "build": {
            "appId": "bank.cloudcoin.global",
            "dmg": {
                "title": "CloudCoin Safe Web App Installation",
                "contents": [{
                        "x": 110,
                        "y": 150
                    },
                    {
                        "x": 240,
                        "y": 150,
                        "type": "link",
                        "path": "/Applications"
                    }
                ],
                "icon": "build/icon.icns"
            },
            "linux": {
                "target": [
                    "AppImage"
                ]
            },
            "win": {
                "target": "nsis",
                "icon": "build/icon.ico"
            }
    
        },
        "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": "latest",
            "electron-packager": "latest",
            "electron-builder": "latest",
            "electron-prebuilt": "latest"
        }
    }
    

    Linux AppImage

    1. 準備應用程式的圖示檔,並有多個不同的 size,格式為 PNG。

    2. 所有圖示檔必須儲存至目錄 build/icons

    <Porject-Root>/build/icons

    • 32x32.png
    • 48x48.png
    • 64x64.png
    • 96x96.png
    • 128x128.png
       

    3. 開始封裝並建立安裝檔

    npm run build-linux
    

    NOTE:

    最後完成的 AppImage 安裝檔,檔案管理介面可能不會顯示正確的圖示,不過,在實際安裝 AppImage 後,應用程式選單應該要顯示正確的圖示。

    F.A.Q

    Q: Unhandled rejection Error: Exit code: ENOENT. spawn icns2png ENOENT

    A:

    sudo apt-get install icnsutils
    
    Q: Error: Exit code: ENOENT. spawn gm ENOENT

    A:

    sudo apt install graphicsmagick
    
    Q: Error: Exit code: 1. Command failed: gm convert -size 48x48

    A:

    將應用軟體的 icon 複製到專案根目錄下

    build/icons/32x32.png
    build/icons/48x48.png
    build/icons/64x64.png
    build/icons/96x96.png
    build/icons/128x128.png

    標籤 (Edit tags)
    • No tags
    您必須 登入 才能發佈評論。
    Powered by MindTouch Core