首页 > 解决方案 > 有没有办法让每个 NW.js 驱动的应用程序都拥有 261+ MB 的“虚拟数据”?

问题描述

我使用 NW.js。它基本上就像 Electron,只是在某些方面不那么糟糕。但基本的一点是,您将一个完整的巨大 Chromium 构建与您使用它创建的每个游戏/应用程序一起分发。

目前这意味着在 Windows 上为261 MB,在 Linux/macOS 上甚至更大。

如果我将其 7-Zip 压缩为“正常”压缩的 ZIP 存档,它将变为 ~ 97 MB

如果我将其 7-Zip 压缩到具有“超”压缩的 ZIP 存档,它将变为 ~ 96 MB。与“正常”几乎没有任何区别。

因此,一旦安装,最多有大约 100 megs 加上实际应用程序数据要通过 Internet 分发,而 261+ MB 加上实际应用程序数据会浪费客户系统上的存储空间。

作为一个在 1.44 MB 3½" 软盘上长大的人,经常只在其中一个上存储多个游戏和程序,这对我来说是非常错误的。哎呀,我的第一个硬盘总共有 270 MB的存储空间!

是的,是的,时间在进步,技术在进步等等,但是,我仍然无法克服大量的浪费。我有一种感觉,99% 的数据实际上并没有被使用或没有必要,但我不知道如何明智而可靠地删除它。

我觉得有这么多开销是不对的,不管它有多常见。

标签: javascriptoptimizationdistributionnode-webkit

解决方案


最终,您将交付一份 Node.js 和一个浏览器。您可以自定义构建 NW.js,这需要从源代码构建 Chromium(非常复杂和困难)。然后,您可以选择排除您的应用不会使用的 Chromium 部分。就个人而言,除非您有合法的商业案例,否则我认为这样做的努力是不值得的。

或者,这里有一篇关于减少应用程序分布大小的方法的详细文章,不需要对 NW.js 进行自定义构建。

最后,除了 NW.js 和 Electron 之外,还有其他选择,其中一些专注于生成非常小的 dist。然而,没有一个能比得上易于开发或强大的功能。


推荐阅读