electron-packager 打包

转自:https://www.cnblogs.com/silenzio/p/11639960.html

执行指令:

npm run packager

如果顺利的话, 会出现打包成功的提示, 项目的根目录下出现outputs目录, 该目录下有testapp-win32-x64目录, 此目录下有若干文件, 包括testapp.exe可执行程序.

注:

outputs目录的名字是我们在packager脚本中指定的
testapp-win32-x64的名字是因为我们指定了生成win平台下的程序, 如果你指定生成linux和mac平台下, 就会出现针对该平台的目录.
testapp.exe同样是我们在packager脚本中指定的名字

 

4.1. 打包过程中会遇到的问题

第一次执行打包指令的时候, 会非常非常的慢, 甚至可能会失败, 通常的原因如下:

下载速度太慢

electron-packager在当前机器的首次打包的时候,会下载electron的预编译文件至当前用户目录,而electron-prebuilder的默认源在国外,在网络不好的情况下,即便有代理,速度也会非常慢。

可选的方案如下:

* 使用代理

* 更换阿里镜像源 (成功率不高)

在执行打包脚本前, 先执行指令, 指定从阿里的镜像源来下载electron预编译文件:

npm config set ELECTRON_MIRROR http://npm.taobao.org/mirrors/electron/

* 使用cnpm (成功率较高, 但会引发别的问题, 如下)

用下面的指令替换npm run packager:

cnpm run packager

* cnpm导致文件过大

如果你在项目构建过程中, 是通过cnpm来安装模块的, 会导致你项目中的node_muduoles体积非常大.

使用cnpm安装模块, 会导致所有的包都是扁平化的安装, node_modules中会有非常多的文件, 直接导致了electron-packager打包非常的慢.

而npm和yarn安装时, 所有的包都是树状解构的, 层级变深, 但是打包速度会快很多.

如果你已经使用cnpm安装过某些模块, 建议你删除这些模块, 以及这些模块的依赖, 重新使用npm和yarn安装.

一个技巧可以帮你快速完成上述步骤:

将项目根目录的node_modules彻底删除, 然后执行指令:

yarn install

该指令会读取项目目录下package.json中的devDependenciesdependencies中的内容(也就是你之前安装过的全部模块), 一次性重新安装.

注:

某些模块无法通过yarn安装, 比如ffi-napi, 如果你希望删除node_modules后利用package.json重新安装, 按照如下步骤即可:

1. 删除无法yarn的模块: 在package.json中, 将ffi-napi的内容删除.
2. yarn安装其他模块: 通过yarn install先安装其他模块.
3. 手动安装该模块: 执行npm i ffi-napi重新安装ffi-napi.

点赞

发表回复

电子邮件地址不会被公开。必填项已用 * 标注