我的电子应用程序大小为530mb。因此,我解压缩了我发现它具有node_modules文件夹的asar文件,该文件夹本身需要300 mb如何删除它?

时间:2018-12-20 06:08:42

标签: angular electron electron-packager

我只是解压缩了asar文件。请在下面检查压缩后的node_modules和未压缩的The client should not repeat this request without modification. 的删除方法。这样我就可以将应用程序大小减小到200 mb。有什么办法可以从npm命令或其他解决方案中减少它? enter image description here

我想从asar文件中删除node_modules文件夹。

3 个答案:

答案 0 :(得分:1)

ModClean将帮助您减小npm应用程序的大小。它会根据预定义和自定义的glob模式从node_modules目录中查找并删除不必要的文件和文件夹。

还查看了有关nice guidethis guide too的有关减小应用程序大小的信息。

答案 1 :(得分:0)

这主要是由于您打包电子应用程序的方式,您可能需要从node_modules中获取一些东西,因此它假设dependencies将用于生产。

您应该只为电子应用程序部署dist文件。然后,将webpack之类的所有与开发相关的依赖项排除在devDependency之外。由于默认情况下电子打包程序中的prune已启用,因此根本不会将这些内容添加到您的.asar中。

同样适用于VueReactAngular或任何其他已由webpack处理的库,如果您创建dist文件夹,则除电子之外的任何东西都应以{{1 }},但您确实希望将其用于生产。

如果您有devDependency之类的本地软件包,则无法从electron-edje-js进行调用,因此您可以通过将其放入.asar并将其复制到您生成的应用程序。

答案 2 :(得分:0)

就我而言,我已经制作了 dist 文件夹的副本以供参考。例如我的目录就像

- root
    |- dist
    |- dist-old
    |- dist-test

在app.asar中,它包括dist-old和dist-test。似乎electronic-builder很贪婪,会将无法识别的任何内容捆绑到应用程序中。