패키징 기능
- electron-builder:
electron-builder
는 자동 업데이트, 코드 서명, 다양한 플랫폼(Windows, macOS, Linux)에 대한 패키징을 지원합니다. 또한, 설정 파일을 통해 세밀한 구성과 사용자 정의가 가능합니다. - pkg:
pkg
는 Node.js 애플리케이션을 단일 실행 파일로 패키징합니다. 여러 플랫폼을 지원하며, 패키징 과정에서 필요한 모든 종속성을 포함시켜 독립 실행 가능한 파일을 생성합니다. - electron-packager:
electron-packager
는 플랫폼별(Windows, macOS, Linux)로 애플리케이션을 패키징합니다. 기본적인 패키징 기능을 제공하며, 추가적인 설정이 필요할 경우 커스터마이징이 가능합니다.
자동 업데이트
- electron-builder:
electron-builder
는 자동 업데이트 기능을 내장하고 있어, 배포 후 애플리케이션의 업데이트를 쉽게 관리할 수 있습니다. 업데이트 서버와의 통합이 용이하며, 코드 서명 및 버전 관리도 지원합니다. - pkg:
pkg
는 자동 업데이트 기능을 제공하지 않습니다. 패키징된 애플리케이션의 업데이트는 수동으로 관리해야 합니다. - electron-packager:
electron-packager
는 자동 업데이트 기능을 지원하지 않습니다. 별도의 업데이트 메커니즘을 구현해야 하며, 패키징 후 업데이트 관리가 필요합니다.
설정 및 구성
- electron-builder:
electron-builder
는 JSON 또는 YAML 형식의 설정 파일을 통해 세밀한 구성과 사용자 정의가 가능합니다. 다양한 플러그인과 스크립트를 지원하여 복잡한 빌드 프로세스도 쉽게 관리할 수 있습니다. - pkg:
pkg
는 간단한 설정 파일을 통해 패키징 구성을 정의할 수 있습니다. 그러나 설정 옵션이 제한적이어서 복잡한 구성은 지원하지 않습니다. - electron-packager:
electron-packager
는 간단한 CLI 인터페이스와 설정 파일을 통해 기본적인 구성만 가능합니다. 복잡한 설정이 필요한 경우 추가적인 스크립트나 도구가 필요할 수 있습니다.
코드 서명
- electron-builder:
electron-builder
는 코드 서명 기능을 지원하여, 배포하는 애플리케이션의 신뢰성을 높일 수 있습니다. 서명 인증서와 관련된 설정을 통해 자동으로 코드 서명을 수행할 수 있습니다. - pkg:
pkg
는 코드 서명 기능을 지원하지 않습니다. 서명된 애플리케이션이 필요한 경우, 패키징 후 별도로 코드 서명을 수행해야 합니다. - electron-packager:
electron-packager
는 코드 서명 기능을 기본적으로 지원하지 않습니다. 코드 서명을 위해서는 별도의 도구나 스크립트를 사용해야 합니다.
예제 코드
- electron-builder:
electron-builder
를 사용한 예제{ "name": "my-app", "version": "1.0.0", "main": "main.js", "build": { "appId": "com.example.myapp", "mac": { "category": "public.app-category.utilities" }, "win": { "target": "nsis" } } }
- pkg:
pkg
를 사용한 예제{ "name": "my-node-app", "version": "1.0.0", "bin": "index.js", "pkg": { "targets": ["node14-linux-x64", "node14-macos-x64", "node14-win-x64"] } }
- electron-packager:
electron-packager
를 사용한 예제npx electron-packager . my-app --platform=win32 --arch=x64