electron打包爬坑

2019-10-29 14:39:17 浏览数 (1)

本文目录:

前言爬坑过程搜索一搜索二发现三发现四一番今日

前言

一番前面用electron nodejs vue python开发了一个pdf合并工具,现在的情况是:

  • "build": "node .electron-vue/build.js && electron-builder"脚本可以单独打包好这个electron工程为exe可执行程序;
  • "build-python": "pyinstaller ./py/api.py --clean --distpath ./pydist"可以打包好python程序为exe可执行程序。
  • 安装完electron的可执行程序,并将打包好的python可执行程序放到electron的安装目录下,这个程序就可以正常运行了。

但显然想要成为一款合格的可发布的程序,这是绝对不能接受的。于是一番就开始了漫长的爬坑之路。

爬坑过程

搜索一

首先搜索'如何打包electron程序',看到网上用如下脚本一起打包python和electron:

"pack-app": "./node_modules/.bin/electron-packager . --overwrite --ignore=py$ --ignore=\.env --ignore=\.vscode --ignore=old-post-backup"

一番执行后,发现一直卡着,没有任何打印,开始怀疑电脑配置不行,于是放了几个小时,发现还是不对,看来应该不是配置问题。

搜索二

于是一番就搜索'electron-packager卡住',发现网上都说是网络什么原因,要用如下脚本换一下源,

set ELECTRON_MIRROR="https://npm.taobao.org/mirrors/electron/"

一番换了之后再次尝试,发现还是没有任何打印。

发现三

于是一番注意到这个脚本其实是用的./node_modules/.bin/electron-packager这个脚本,加一些参数。于是一番找了下这个脚本,发现目录下竟然没有这个脚本。所以我根本都还没有装这个工具,于是一番在工程根目录下用如下脚本安装了electron-packager工具,终于在目录下找到了相关的脚本。

npm install electron-packager

于是一番继续执行上面的pack-app这个脚本,发现还是没有任何反应。于是一番打开了electron-packager和elctron-packager.cmd这两个文件,发现electron-packager这个目录其实是用的shell脚本,也就是说只能在linux下用,而electron-packager.cmd这个目录才是windows命令。于是脚本应该改为如下这样,

pack-app": "./node_modules/.bin/electron-packager.cmd . --overwrite --ignore=py$ --ignore=\.env --ignore=\.vscode --ignore=old-post-backup"

但很遗憾,这样还没一直卡住。在继续看脚本,也许是参数太多了,于是一番把脚本改为简单的不加参数的形式

./node_modules/.bin/electron-packager.cmd .

果然,可以运行了,等待打包完成,然后拷贝build目录下的可执行程序,安装,然后到安装目录查看是否有python的可执行程序。妈蛋,还是没有。

发现四

看来靠百度是不行了,还是看打包的脚本吧。于是看到package.json里配置打包的目录似乎只有dist/electron/**/*,于是一番分别试着加入pydist/**/*pydist/api/*,尝试发现虽然yaml文件确实改了,但还是没有解决问题。

0 人点赞