如题,使用 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 ![]() 跨平台的东西体积都大用起来都麻烦,用 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 ![]() 标题让我想起了 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 用的 Electron 1.7.9 |
![]() | 43 tomzhou 2018-03-27 13:45:49 +08:00 有人用过 Microsoft/react-native-windows 吗? |