使 npm 指令碼自動化電子包裝

打包應用程式的一種便捷方法是在 packages.json 檔案中編寫指令碼並使用 npm run 命令執行它們

{
    "name": "AppName",
    "productName": "AppName",
    "version": "0.1.1",
    "main": "main.js",
    "devDependencies": {
        "electron": "^1.6.6",
        "electron-packager": "^8.7.0"
    },
    "scripts": {
        "package-mac": "electron-packager . --overwrite --platform=darwin --arch=x64 --icon=images/icon.png --prune=true --out=release-builds",
        "package-win": "electron-packager . --overwrite --platform=win32 --arch=ia32 --icon=images/icon.png --prune=true --out=release-builds",
        "package-linux" : "electron-packager . --overwrite --platform=linux --arch=x64 --icon=images/icon.png --prune=true --out=release-builds"
    }
}

要執行它們你只需寫:

npm run package-mac
npm run package-win
npm run package-linux

命令標誌的細分是:

electron-packager .     // this runs the packager in the current folder
--overwrite             // overwrite any previous build
--platform=darwin       // platform for which the binaries should be created
--arch=x64              // the OS architecture
--icon=images/icon.png  // the icon for the app executable
--prune=true            // this does not copy your dev-dependencies that appear in your packages.json
--out=release-builds    // the name of the folder were the binaries will be outputed

之前,執行指令碼會將 devDependencies 更改為依賴項,因為 electron-packager 無法將 devDependencies 中的包繫結到應用程式中。在 packager.json 中,更改單詞(如果它在那裡或者如果在 npm install 中使用 –save-dev 安裝軟體包)devDependencies 僅限於依賴項。