说透electron,构建时候下载依赖包慢的根本原因

693 阅读2分钟

npm install electron 

无论全局安装还是本地安装,下载下来的都是一个针对,当前操作系统和当前cpu架构的预编译好的electron版本。

下载之后你切换你的项目里, 运行electron 载入主进程入口js ,启动了应用这没有问题。

但是打包的时候就非常坑了!!!

“特别是对于小白”

当用打包工具electron-builder ,或者其他的打包工具也好,打包当前项针对不同平台打包的时候。

由于当前安装的electron 是适合你当前操作系统和cpu架构环境的,没办法打包出其他平台的程序包。

怎么办?

当你运行 npm run electron:build 的时候,构建工具会去下载针对其他平台的一些预编译包

并且这些包不是npm包,是有electron-builder里面的一个下载脚本去下载的大概叫做install.js

就是这三个货大概  electron-v8.2.0-win32-x64.zip, winCodeSign-2.6.0.7z , nsis-3.0.4.2.7z ,nsis-resources-3.4.1.7z 

好吧是四个。

这几个预编译的包会下载到/Users/你专属目录/Library/Caches/electron-builder/里面去.

但是这几个包的源头都在gitHub,不是你设置npm 镜像源就可以改边的

因为他们是用安装包里面的脚本下载的,除非你去改下载脚本源码的指向不让他们指向gitHub。

当下次在进行构建的时候如果缓存里面有,就不下载了,直接用。

所以既然从gitHub上弄不下来或者下载的非常慢。

那就从淘宝的镜像上拿下来,直接放到/Library/Caches/electron-builder/这里面来。

欺骗install.js脚本走从缓存直接拿的逻辑。

原理说过了,在贴一篇讲的比较好的 electron-builder 解决这几个包的好文

blog.csdn.net/qq_32682301…