首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >问答首页 >电子封装:缩小封装尺寸

电子封装:缩小封装尺寸
EN

Stack Overflow用户
提问于 2017-12-01 16:13:42
回答 4查看 40.5K关注 0票数 40

我制作了一个简单的电子应用程序:

main.js

代码语言:javascript
运行
复制
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

代码语言:javascript
运行
复制
{
  "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"
  }
}

使用电子包装机,我构建了要发布的包:

代码语言:javascript
运行
复制
electron-packager . --overwrite --asar=true --platform=win32 --arch=ia32 --prune=true --out=release-builds

构建的包的总大小是107 MB

有人有缩小包装尺寸的建议吗?

EN

回答 4

Stack Overflow用户

发布于 2018-09-15 13:34:56

您可以通过使用电子生成器包进行打包来减少电子应用程序的大小。

PicArt是我最近开发的一个电子应用程序。它是使用reactJS构建的。最初,当我使用电子包装机打包应用程序时,窗口的构建大小约为98 MB。然后,我发现了这个令人敬畏的样板电子反应,他们将电子构建器配置为产生优化的构建大小。在使用这些配置设置之后,PicArt的构建现在大约是36 MB的

是的,可以缩小应用程序的大小,但是配置构建设置是非常痛苦和耗时的。

票数 27
EN

Stack Overflow用户

发布于 2018-09-18 20:00:42

我设法将我的mac应用程序的最终大小从250 my 移动到128 my ,将电子移动,将reactJs dependencies移到devDependencies in package.json .因为我所需要的就是进入最后的bundle.js

但遗憾的是,我无法得到比这更低的价格,因为电子框架是118 to --如果您正在制作一个小型应用程序,这是一种东西,但我想这就是制作跨平台web应用程序的代价。

票数 20
EN

Stack Overflow用户

发布于 2021-03-03 23:14:42

我在一个200 of的应用程序中遇到了同样的问题。设法将其降至176 to,最后降至55 to。

下面是我所做的(如果有帮助的话):

  • Electron-builder:打包应用程序
  • 剪枝:清除未使用的模块
  • 清理package.json文件:依赖项

打包应用程序:

注意:我创建了一个Windows应用程序。

在文档中提到了一个两步的package.json方法,但是在自己尝试(并确认文档)之后,它就不需要了。

奇怪的是,我删除了整个“Node”文件夹,运行“npm”来恢复所有的功能。在那之后,我立即运行'npm修剪‘来清理'Node’文件夹中没有被使用的任何东西(即使我只是运行'npm安装‘)。我还反复检查了package.json文件中我的“依赖项”部分中没有电子或电子生成器。在此之后,我打包了应用程序/

每个人都可能已经知道,使用电子生成器,您的“dist”文件夹(除非您更改了默认目录)应该直接在“dist”目录中包含一个.exe文件,以及一个“未打包”文件夹,其中包含一个.exe文件,该文件取决于该文件夹中的相关文件。但是,我拥有的.exe文件(直接位于'dist‘文件夹中)只有55 is。尽管公平地说,这个文件确实安装了程序,并且一旦安装,大小就会膨胀到171 to左右。

如果我能找到另一种方法来缩小文件大小,我会再次发帖。

票数 5
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/47597283

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档