최적화
electron 패키징 결과 파일은 기본적으로 크기가 크다
이유
- Chromium 엔진
- Electron은 웹 콘텐츠를 렌더링하기 위해 Chromium 엔진을 포함
- 이 엔진은 매우 크며, 렌더링 기능을 제공하기 위해 많은 파일 포함
- Node.js 통합
- Electron은 Node.js 런타임을 포함하여 Node.js 기능을 사용
- Electron 바이너리
- Electron 자체 바이너리도 포함
최적화 방법
- 압축 사용:
electron-builder
는 압축을 통해 최종 패키지의 크기를 줄일 수 있음 - 불필요한 파일 제거:
.npmignore
또는files
필드를 사용하여 패키지에 포함할 파일을 명시적으로 지정 - Code Signing: 이 과정은 실제로 크기를 줄이는 것과는 무관하지만, 배포 시 중요한 단계
{
"name": "output",
"version": "1.0.0",
"main": "main.js",
"scripts": {
"start": "electron .",
"build": "electron-builder --config build-config.json"
},
"description": "",
"devDependencies": {
"electron": "^30.0.7",
"electron-builder": "^24.13.3"
},
"build": {
"appId": "com.example.mkdocs",
"files": [
"main.js",
"site/**/*"
],
"directories": {
"output": "dist"
},
"compression": "maximum", // 최적의 압축을 위해 추가
"extraResources": [
"main.js",
"site/**/*"
],
"extraMetadata": {
"main": "main.js"
}
}
}