如题,使用 electron 开发了一个小工具,打包后发现执行程序的体积高达 120M ,虽然明知道里面本来就包含 nodejs 与 webkit ,但是也太夸张了。
1
unique 2016-04-16 17:41:05 +08:00
以前用 nw 只放了个网页打包也要 70M+
还是不搞了。。 |
2
chunqiuyiyu OP @unique 确实,不过自己写个工具来提升效率还是可以的,就是不便于分享给其他人。
|
3
wakiki 2016-04-16 18:45:24 +08:00
是把 devDependencies 也打包进去了吧
|
4
mwylaoma 2016-04-16 18:59:05 +08:00
有什么办法解决吗?
|
5
oott123 2016-04-16 18:59:37 +08:00 via Android
_(:з」∠)_ 120M 有点大吧…感觉 100M 以内的程序还是可以接受的。
|
6
vghdjgh 2016-04-16 19:10:55 +08:00
有一些小技巧的,
比如,打包是移除掉运行时不需要的,例如 devDependencies ,通过`npm i --production`可以只安装 dependencies 包; 还有发布时压缩成 zip 包,可以把大小减少到 40-60MB ,如果压缩成 7z 包,可以减少到 30MB 。 |
7
wsph123 2016-04-16 19:20:22 +08:00
其实可以做到 30MB 的,可以参考我昨天发布的项目
|
8
vanxining 2016-04-16 19:35:02 +08:00
超过 10M 都不能忍……
|
9
loading 2016-04-16 19:36:42 +08:00 via Android
除非是 js 写大型应用都炉火纯青了,不然开发效率低,运行速度慢,体积大。
|
10
g00001 2016-04-16 19:51:21 +08:00 4
跨平台的东西体积都大用起来都麻烦,用 aardio 就没有这些问题了,打包个 webkit 内核就 3MB ,用 HTMLayout 就更小,不但可以 HTML+CSS 写界面,还可以用上类似 PHP 的模板语法,最重要的是界面流畅,速度快 《使用 webkit 内核开发桌面软件界面》 http://bbs.aardio.com/forum.php?mod=viewthread&tid=12574&from=portal
|
11
jiongxiaobu 2016-04-16 19:58:54 +08:00 via Android
你需要 react native
|
12
yann1992 2016-04-16 20:18:43 +08:00
可以尝试下 sciter
|
13
murmur 2016-04-16 20:29:47 +08:00
|
14
yangtze 2016-04-16 20:40:03 +08:00
Linux:
Atom - 74.6M Sublime Text 3 - 6.4M 怪不得 Atom 打开这么慢 |
15
qdwang 2016-04-16 21:16:49 +08:00 via Android
楼主 我用 nw 打包只有 20m 。。。。你到底打包了什么鸟东西
|
17
kindjeff 2016-04-16 22:40:36 +08:00
我的电脑上 NW.JS 蜜汁打不开……放弃了学习 。
|
18
zsx 2016-04-16 22:52:11 +08:00
除 node_modules 拷到一个新目录然后只安装非 dev 的 modules
或者 webpack 后只复制 C++ Modules 接着打个 zip / 7z |
19
dibage 2016-04-16 23:28:53 +08:00
并不是不可取,并不是不可取,并不是不可取!
重要的是你的应用质量怎样!如果只是一部分小功能,比如就一个爬取 V2EX RSS ,那真是不可取,可以考虑 chrome 扩展。 楼主给你看个项目: https://github.com/antoor/antSword 也用的 Electron ,文件是有点大,但是只要功能好,还是会有使用者愿意下载使用的,就好像 atom 编辑器,不也一样很大,但是还是会有大量的使用者吗? 主要,还是看应用做得怎样。做得好的话提供个在线更新功能,这点大小根本不算什么 :) |
20
XianZaiZhuCe 2016-04-16 23:59:09 +08:00
现在用的 teambition ,也是 electron 。 用了几天还行。倒是没关注多大。反正 appstore 点击下载就行了。就算 200M ,也是一分钟不到的事
|
21
SourceMan 2016-04-17 00:04:07 +08:00 via iPhone
你看看 QQ iOS 版 size 多少
|
22
murmur 2016-04-17 00:04:56 +08:00
@XianZaiZhuCe teambition 有网页版啊
|
23
uxstone 2016-04-17 00:59:24 +08:00 via Android
starUML 也是 node 写的,应该是没处理好吧,
|
24
XianZaiZhuCe 2016-04-17 01:12:16 +08:00 via iPhone
@murmur 你说切 tap 快,方便,还是放 dock 更好。工具型的,经常用的我都是下的软件。
|
25
dphdjy 2016-04-17 07:32:20 +08:00 via Android
小工具~自己用~咱都是用 c/py/js 什么写的~要界面上 java 写~反正自己用又不用好看 XD
|
26
dphdjy 2016-04-17 07:36:49 +08:00 via Android
@dphdjy 但是对外发布的,长相有要求,快速迭代的上 electron ,每次更新只有几百 kb~已经核心的东西用 c 写也有效率(还有我之前写的最后大伯包只有 30m 来着~你一定放了奇怪的东西
|
27
peiran 2016-04-17 07:51:04 +08:00
之前用 nw.js 做的办公系统 也就 20m 左右。。
|
28
chunqiuyiyu OP @vghdjgh 我现在就是这样做的,压缩后的体积是 50M ,在可以接受的范围里了。
|
29
chunqiuyiyu OP @dibage 是这个道理,现在的电脑的存储空间都白菜价了,动辄几百 G ,如果质量好的话确实不在乎软件的体积大小。但是就是觉得尽量可以小一些,更方便的通过网络分发给别人。
|
30
chunqiuyiyu OP @dphdjy 我的心态也就是能用就好,界面什么的完全不是我要考虑的事情,反正自己也写不好。
|
31
luin 2016-04-17 09:58:49 +08:00
我的项目 https://github.com/luin/medis 是用 Electron 写的,和 nw 差不多,空项目是 90 MB ,写完后是 100 MB ,其实代码本身没有占多少空间。用 zip 打包后就只有 30 MB 了,而且发布到 Mac App Store 后都是压缩过的,用户下载时只需要下载 30 MB 左右就可以了,影响其实并不大。其实主要的问题是启动速度太慢了, Atom 其实启动挺慢的,只不过开始时会显示一个黑色背景,感知不太出来。
|
32
MaiCong 2016-04-17 13:15:17 +08:00 via iPhone
NW.js 做应用体积太大了
|
33
dphdjy 2016-04-17 13:33:11 +08:00 via Android
如果哪天 Google 在 Chrome 内部集成(比 Chrome APP 权限更高)的库就好了~酱紫 Chrome 可以顺手安利,各种应用可以共用内核,多好~然后其他浏览器的份额瞬间没了~然而那是不可能的。。。
|
34
narcotics 2016-04-17 14:05:56 +08:00 via iPhone
说的热火朝天,都无视 viscose,atom 等等了?
|
35
Mireas 2016-04-17 14:43:06 +08:00 1
标题让我想起了 DeepinLinux 的桌面, HTML5 写的,卡成傻逼。。。
|
36
dant 2016-04-17 15:17:25 +08:00
某下载管理器新版改用 Chromium Embedded Framework 做 UI ,瞬间好感全无。
|
37
zonghua 2016-04-17 15:28:06 +08:00
Go 编写的 Ngrok 有显示页面才不到 1MB
|
38
Khlieb 2016-04-17 20:52:18 +08:00 via Android
我记得 Firefox Marketplace 上面一大堆
|
39
onceyoung 2016-04-18 07:58:19 +08:00 via Android
主要看需求
|
40
yaolixing 2017-07-16 00:49:02 +08:00
他山界面内嵌 Gecko 22.0 支持 js,c++互调,支持 flash,xul,html,css,js,支持 windows,linux,发行大小 13MB,开源收费框架
|
41
agoodob 2018-01-17 13:57:43 +08:00
2018 了,我也是碰到这个问题,Electron 打包出来 124M,压缩之后压缩包包是 40M。。
正在查怎么缩减大小,未压缩状态下 30-40M 可以接受。。压缩后 10M 可以接受。 做的是一个翻译字幕文件的简单工具: https://github.com/1c7/translate-subtitle-file |
42
agoodob 2018-01-17 13:58:00 +08:00
用的 Electron 1.7.9
|
43
tomzhou 2018-03-27 13:45:49 +08:00
有人用过 Microsoft/react-native-windows 吗?
|