接手了一个Electron+uniApp打包的桌面应用,这里的难点在于运行项目和打包过程,记录一下之后用到再整理。
Electron介绍
- Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。
- Electron于2013年作为构建Github上可编程的文本编辑器Atom的框架而被开发出来。这两个项目在2014春季开源。
- 目前它已成为开源开发者、初创企业和老牌公司常用的开发工具。
项目目录结构
eveluate为h5打包项目
eveluate_electron 为桌面应用打包后放置
-
common -----公共资源文件css,js等
-
components ----- 公用组件文件
-
https -----api以及接口封装文件
-
node-modules -----项目所需依赖文件
-
pages -----项目主视图文件
运行过程
打包过程整体来说就是先使用uniapp把eveluate打包为H5,再把打包后的static目录和index.html文件替换到eveluate_electron包中,再通过npm run make打包,最后在该目录的out文件夹内生成**-win32-x64文件夹就是交付物了。
命令顺序如下:
npm install electron -g(全局)
npm install --save-dev @electron-forge/cli(eveluate_electron项目中)
npx electron-forge import(只需要执行一次)
npm run make(打包,执行成功后项目中会多一个out文件应用包,找到out文件夹下的桌面应用安装包win32-x64)
版本
eveluate要求npm版本和node版本是对应的,版本对应表如下:
经过各种版本调整之后,这个版本是可用的 node -v v18.16.1 npm -v 9.8.1
源
部署安装遇到了各种困难,尝试切到了淘宝源,使用cnpm全局安装好了electron,跑到sudo npx electron-forge import这一步又不行了,发现内置的命令用的还是npm,换了npm的源也不好使:
最后找到了这篇文章:lihuaxi.xjx100.cn/news/142602…
修改为淘宝镜像
npm config set registry https://registry.npmmirror.com/
npm cache clean --force
step2:npm的配置文件增加 electron_mirror
查询使用配置文件的地址:
npm config get userconfig
打开文件增加
electron_mirror=npmmirror.com/mirrors/ele…
step3:优雅的安装
npm install electron --save-dev
下面两个式打包需要的
npm install --save-dev @electron-forge/cli
npx electron-forge import
打包构建过程
打开Hbuilder, 运行到浏览器进行调试。
H5发行,直接点击发行就好了。发现uni-appid提示错误,我自己注册了一个应用。 打包之后将新的static和index.html放在eveluate_electron从新run make。
MAC转Windows插件
可以用package-win和wine-stable。
还在安装...