J'ai fait une simple application Electron :
main.js
const {app, BrowserWindow} = require('electron')
const path = require('path')
const url = require('url')
let win
function createWindow () {
win = new BrowserWindow({
width: 800,
height: 600,
icon: path.join(__dirname, 'icon.ico')
})
win.maximize();
win.loadURL('https://stackoverflow.com/', {"extraHeaders" : "pragma: no-cache\n"});
win.on('closed', () => {
win = null
})
}
app.on('ready', createWindow)
app.on('browser-window-created',function(e,window) {
window.setMenu(null);
});
app.on('window-all-closed', () => {
if (process.platform !== 'darwin') {
app.quit()
}
})
app.on('activate', () => {
if (win === null) {
createWindow()
}
})
package.json
{
"name": "test",
"version": "1.0.0",
"main": "main.js",
"build": {
"appId": "com.test.app",
"copyright": "test",
"productName": "test"
},
"devDependencies": {
"electron": "1.7.9",
"electron-builder": "^19.46.4",
"electron-packager": "^10.1.0"
}
}
avec electron-packager j'ai construit le paquet pour libérer:
electron-packager . --overwrite --asar=true --platform=win32 --Arch=ia32 --Prune=true --out=release-builds
la taille totale du package construit est 107 Mo .
Quelqu'un a des conseils pour réduire la taille de l'emballage?
Vous pouvez réduire la taille de l'application électronique en empaquetant à l'aide du package electron-builder .
PicArt est une application electronjs que j'ai développée récemment. Il est construit en utilisant reactJS . Initialement, lorsque j'ai empaqueté l'application à l'aide de l'électron-packager, la taille de construction de la fenêtre était d'environ 98 Mo. Ensuite, j'ai trouvé ce passe-partout génial électron-react où ils ont configuré le générateur d'électrons pour produire une taille de construction optimisée. Après avoir utilisé ces paramètres de configuration, la construction de PicArt est désormais disponible 36 Mo.
Oui, il est possible de réduire la taille de l'application, mais il est assez pénible et long de configurer la configuration de la build.
J'ai réussi à réduire la taille finale de mon application mac de 250MB à 128MB en déplaçant 'electron' et mes reactJs dependencies
à devDependencies
dans package.json
... puisque tout ce dont j'ai besoin sera dans le bundle final.js
Mais malheureusement, je ne pouvais pas l'obtenir plus bas que cela parce que le cadre électronique est 118MB ce qui est quelque chose si vous faites une petite application, mais je suppose que c'est le prix à payer pour faire multiplateforme applications Web