Electron.js 프로젝트 빌드 방법(윈도우 실행파일 만들기)
일렉트론 빌드, electron 빌드, electron build
[ 빌드툴 별 빌드 방법 ] 
//------------------------------------- 
< electron-builder >  <== 추천 
https://github.com/electron-userland/electron-builder - 13.3k 
- v25 , 24-03 
     - 설치 
npm install -g electron-builder
     - package.json 파일
"build": {
        "appId": "mjraker.id",
        "productName": "mjraker App",
        "icon": "dist/raker1.ico",
"directories": {
       "output": "dist"
    },
     "files": [
       "**/*",
      "!node_modules"
     ],
        "win": {
            "target": "nsis"
        }
    },
    - 빌드 실행 
electron-builder --win 
//------------------------------------- 
< @electron/packager > 
https://github.com/electron/packager - 68 
     - v18 , 23-12 
     - electron-packager 는 개발 중단 
> npm install --save-dev @electron/packager 
> npx electron-packager . testapp --platform=win32 --arch=x64 --out=dist 
     - or 
> node_modules\.bin\electron-packager . testapp --platform=win32 --arch=x64 --out=dist 
//------------------------------------- 
< electron-forge >  <== 비추, 빌드된 크기 크고, 느림 
- @electron-forge/cli 
https://github.com/electron/forge - 6.2k 
- v7.3 , 24-02 
별도 패키지 electron-forge 는 개발 중단 
> npm install --save-dev @electron-forge/cli @electron-forge/maker-squirrel 
//------------------- 
package.json 수정 
"config": { 
        "forge": { 
            "packagerConfig": { 
                "icon": "dist/App1.ico" 
            }, 
            "makers": [ 
                { 
                    "name": "@electron-forge/maker-squirrel", 
                    "config": { 
                        "name": "MyApp", 
                        "setupIcon": "dist/App1.ico" 
                    } 
                } 
            ] 
        } 
    }, 
- 빌드 명령 
> npx electron-forge make 
//----------------------------------------------------------------------------- 
* 빌드된 용량 줄이기 ( electron-builder )
- package.jsson에서 build -> files 항목에 필요한 항목만 추가 한다. 
"build": {        
        "files": [ 
            "!node_modules",   <== 처음에 오면 나중에 기술된 것은 포함됨 
            "app/**/*", 
            "config.js", 
            "node_modules/picnic", 
            "node_modules/microtip/**/*" 
        ], 
         
    }, 
//-----------------------------------------------------------------------------
< 참고 >
@electron/rebuild 패키지 용도
- 시스템에 설치된 node.js의 버전과 electron이 사용하는 node.js의 버전이 달라서 작동을 확인하기 위해 필요
- Electron Forge & Electron Builder 등의 빌드 툴에서 사용
- 빌드에러가 난다면 이 rebuild를 실행해 본다.
> npm install --save-dev @electron/rebuild
> node_modules\.bin\electron-rebuild
    - 에러 메시지
Error: node-gyp failed to rebuild  '...\node_modules\process-list'
     - 해결 방법
package.json 에서 'process-list'  패키지 삭제