ElectronWindows客户端开发我爱编程

构建Electron

2018-04-08  本文已影响21人  mercurygear

需要准备的工具

这里以构建Electron 1.8.4版为例,需要VS2017、Python2.7、Node.js、Git等这几种工具,先安装好。
Electron是用gyp来生成构建工程,然后使用ninja来进行构建,虽然不是使用VS2017,但是需要用到它提供的工具链。

构建流程

下载代码

首先把electron的代码下载回来:git clone https://github.com/electron/electron.git

运行引导脚本

引导脚本会把工程需要的依赖文件下载回来然后创建工程,这个过程是整个构建中耗时最久的部分,因为需要下载的chromium预构建文件(libchromiumcontent)极大,且更要命的是这是从Amazon的云服务上下载的,如果不翻墙的话,这个过程极有可能经常中断(虽然官方给了个七牛云的镜像解决方案,但是我试了下不能用)。

如果只是调试开发,那么建议只下载debug环境的依赖,这样一来可以减少下载libchromiumcontent的时间,800MB和10GB的差别,可以仔细感受一下。

另外,一般只构建32位的版本,这样可以获得最高的兼容性,让我们的程序在32位和64位Windows系统上都能运行。

所以,最终的引导脚本运行命令如下(--dev表示只需要debug环境,--target_arch=ia32指明构建32位程序):
python script\bootstrap.py -v --dev --target_arch=ia32

题外话:Electron使用和Chromium相似的构建方案,对于Debug环境,把组件都构建成dll形式的共享库,这样可以在开发的时候节省大量的链接时间;而对Release环境,则把组件构建成静态库,这样可以减小体积和增加性能(所以Electron.exe有40多MB)。

构建

因为第二步我们只准备了debug环境,所以这一步也只能构建Debug版本:
python script\build.py -c D
成功之后,我们就能在out\D目录下找到electron.exe了(D是Debug构建输出,R是Release构建输出,至于为什么不用Debug和Release,官方说是gyp在某些情况下会随机崩溃。。。)

生成VS工程

这个是方便我们查阅代码和进行调试
python script\bootstrap.py --msvs
根目录下就会多出来好几个工程文件了,electron.sln则是入口

清理

清理构建文件npm run clean
只清理out和dist目录npm run clean-build
只要运行了上述两个命令任何一个,后续都需要重新运行引导脚本再构建

上一篇 下一篇

猜你喜欢

热点阅读