ABOUT ME

-

Today
-
Yesterday
-
Total
-
  • 일렉트론 [Electron] 배포 Installer 생성하기
    자바스크립트[JavaScript]/일렉트론[Electron] 2019. 4. 19. 14:04

    일렉트론에서 일반적으로

    electron-builder 또는 electron-packager 를 사용

    개인적으로는 electron-packager는 사용하기 편하지만 디테일한 부분을 수정하기에는 번거로움

    샘플링 결과 electron-builder로 사용함

     

    - electron-builder

     + GitHub URL : https://github.com/electron-userland/electron-builder

     

    electron-userland/electron-builder

    A complete solution to package and build a ready for distribution Electron app with “auto update” support out of the box - electron-userland/electron-builder

    github.com

     

    - electron-packager

     + GitHub URL : https://github.com/electron-userland/electron-packager

     

    electron-userland/electron-packager

    Customize and package your Electron app with OS-specific bundles (.app, .exe, etc.) via JS or CLI - electron-userland/electron-packager

    github.com

     

    electron-builder

    1. electron-builder 설치

     - npm install --save-dev electron-builder

    electron 및 electron-builder는 -dev 로 설치해야함.

     

     

    2. npm script 작성

    "scripts": {

         "build:osx": "build --mac",

         "build:linux": "npm run build:linux32 && npm run build:linux64",

         "build:linux32": "build --linux --ia32",

         "build:linux64": "build --linux --x64",

         "build:win": "npm run build:win32 && npm run build:win64",

         "build:win32": "build --win --ia32",

         "build:win64": "build --win --x64",

    }

    ※ package.json 파일에 os별로 script 작성

     

     

    3. package.json 파일에 build 작성

    "build": {

         "productName": "productTest", << 상품명

         "appId": "kr.co.productTest.www", << 앱아이디

         "asar": true, << 소스코드를 asar 포맷으로 압축 여부

         "protocols": {

              "name": "productTest",

              "schemes": [

                   "productTest"

              ]

         },

         "mac": { << Mac 옵션

              "target": [

                   "default"

              ],

              "icon": "./electron-root/favicon.ico"

         },

         "dmg": { << Mac 인스톨 옵션

              "title": "tournant",

              "icon": "./electron-root/favicon.ico"

         },

         "win": { << Windows 옵션

             "target": [

                   "zip",

                   "nsis"

              ],

              "icon": "./electron-root/favicon.ico"

         },

         "linux": { << Linux 옵션

              "target": [

                    "AppImage",

                    "deb",

                    "rpm",

                    "zip",

                    "tar.gz"

              ],

              "icon": "./electron-root/favicon.ico"

         },

         "nsis": {

              "oneClick": false, << nsis 기본 옵션은 원클릭 true

              "allowToChangeInstallationDirectory": false, << Directory 변경 옵션

              "installerLanguages": [

                   "en_US",

                   "ko_KR"

              ],

              "language": "1042"

         },

         "directories": {

              "buildResources": "resources/installer/",

              "output": "build/", << 빌드 후 저장경로

              "app": "."

         }

    }

    ※ package.json 파일에 os별로 build 작성

     

    4. os별로 빌드 실행

    - Windows 32/64비트 : npm run build:win

    - Windows 32비트 : npm run build:win32

    - Windows 64비트 : npm run build:win64

     

    - Mac : npm run build:osx

     

    - Linux 32/64비트  : npm run build:linux

    - Linux 32비트  : npm run build:linux32

    - Linux 64비트  : npm run build:linux64

     

    댓글

Designed by Tistory.