我制作了一个简单的电子应用程序:
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"
}
}使用电子包装机,我构建了要发布的包:
electron-packager . --overwrite --asar=true --platform=win32 --arch=ia32 --prune=true --out=release-builds构建的包的总大小是107 MB。
有人有缩小包装尺寸的建议吗?
发布于 2018-09-15 13:34:56
发布于 2018-09-18 20:00:42
我设法将我的mac应用程序的最终大小从250 my 移动到128 my ,将电子移动,将reactJs dependencies移到devDependencies in package.json .因为我所需要的就是进入最后的bundle.js
但遗憾的是,我无法得到比这更低的价格,因为电子框架是118 to --如果您正在制作一个小型应用程序,这是一种东西,但我想这就是制作跨平台web应用程序的代价。
发布于 2021-03-03 23:14:42
我在一个200 of的应用程序中遇到了同样的问题。设法将其降至176 to,最后降至55 to。
下面是我所做的(如果有帮助的话):
打包应用程序:
注意:我创建了一个Windows应用程序。
在文档中提到了一个两步的package.json方法,但是在自己尝试(并确认文档)之后,它就不需要了。
奇怪的是,我删除了整个“Node”文件夹,运行“npm”来恢复所有的功能。在那之后,我立即运行'npm修剪‘来清理'Node’文件夹中没有被使用的任何东西(即使我只是运行'npm安装‘)。我还反复检查了package.json文件中我的“依赖项”部分中没有电子或电子生成器。在此之后,我打包了应用程序/
每个人都可能已经知道,使用电子生成器,您的“dist”文件夹(除非您更改了默认目录)应该直接在“dist”目录中包含一个.exe文件,以及一个“未打包”文件夹,其中包含一个.exe文件,该文件取决于该文件夹中的相关文件。但是,我拥有的.exe文件(直接位于'dist‘文件夹中)只有55 is。尽管公平地说,这个文件确实安装了程序,并且一旦安装,大小就会膨胀到171 to左右。
如果我能找到另一种方法来缩小文件大小,我会再次发帖。
https://stackoverflow.com/questions/47597283
复制相似问题