В настоящее время я занимаюсь разработкой простого приложения Hello World с использованием Angular и Electron (следуя этому руководству: https://angularfirebase.com/lessons/desktop-apps-with-electron-and-angular/). Шаги очень просты:
- я создал новую папку с Angular cli;
- я установил электрон в среду разработки, используя
npm install electron --save-dev
; - я установил электронный упаковщик с
npm install electron-packager -g
и npm install electron-packager --save-dev
; - я построил исполняемый файл для Windows, используя
npm run build && npm run electron
.
Однако, даже если приложение полностью basi c, я получаю конечную папку 275MB .
Я понимаю, что Electron требует для работы всего Chromium и NodeJS, но на https://github.com/electron/electron/issues/2003 и другие страницы, которые я прочитал, что людям удается получить пакеты размером ~ 30 МБ или как минимум 100 МБ, что по-прежнему предпочтительнее, чем 275 МБ. Может кто-нибудь помочь мне и объяснить, как это сделать?
На случай, если вам это нужно, это мой пакет. json:
{
"name": "app-test",
"version": "0.0.0",
"main": "main.js",
"scripts": {
"ng": "ng",
"start": "ng serve",
"build": "ng build",
"test": "ng test",
"lint": "ng lint",
"e2e": "ng e2e",
"electron": "electron .",
"electron-build": "npm run build && npm run electron"
},
"private": true,
"dependencies": {
"@angular/animations": "~8.2.14",
"@angular/common": "~8.2.14",
"@angular/compiler": "~8.2.14",
"@angular/core": "~8.2.14",
"@angular/forms": "~8.2.14",
"@angular/platform-browser": "~8.2.14",
"@angular/platform-browser-dynamic": "~8.2.14",
"@angular/router": "~8.2.14",
"rxjs": "~6.4.0",
"tslib": "^1.10.0",
"zone.js": "~0.9.1"
},
"devDependencies": {
"@angular-devkit/build-angular": "~0.803.21",
"@angular/cli": "~8.3.21",
"@angular/compiler-cli": "~8.2.14",
"@angular/language-service": "~8.2.14",
"@types/jasmine": "~3.3.8",
"@types/jasminewd2": "~2.0.3",
"@types/node": "~8.9.4",
"codelyzer": "^5.0.0",
"electron": "^7.1.8",
"electron-packager": "^14.1.1",
"jasmine-core": "~3.4.0",
"jasmine-spec-reporter": "~4.2.1",
"karma": "~4.1.0",
"karma-chrome-launcher": "~2.2.0",
"karma-coverage-istanbul-reporter": "~2.0.1",
"karma-jasmine": "~2.0.1",
"karma-jasmine-html-reporter": "^1.4.0",
"protractor": "~5.4.0",
"ts-node": "~7.0.0",
"tslint": "~5.15.0",
"typescript": "~3.5.3"
}
}