Electron初体验

653 阅读2分钟

接手了一个Electron+uniApp打包的桌面应用,这里的难点在于运行项目和打包过程,记录一下之后用到再整理。

Electron介绍

  1. Electron是由Github开发,用HTML,CSS和JavaScript来构建跨平台桌面应用程序的一个开源库。 Electron通过将Chromium和Node.js合并到同一个运行时环境中,并将其打包为Mac,Windows和Linux系统下的应用来实现这一目的。
  2. Electron于2013年作为构建Github上可编程的文本编辑器Atom的框架而被开发出来。这两个项目在2014春季开源。
  3. 目前它已成为开源开发者、初创企业和老牌公司常用的开发工具。

项目目录结构

image.png 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版本是对应的,版本对应表如下:

image.png

经过各种版本调整之后,这个版本是可用的 node -v v18.16.1 npm -v 9.8.1

部署安装遇到了各种困难,尝试切到了淘宝源,使用cnpm全局安装好了electron,跑到sudo npx electron-forge import这一步又不行了,发现内置的命令用的还是npm,换了npm的源也不好使:

image.png 最后找到了这篇文章: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, 运行到浏览器进行调试。

image.png

image.png

H5发行,直接点击发行就好了。发现uni-appid提示错误,我自己注册了一个应用。 打包之后将新的static和index.html放在eveluate_electron从新run make。

MAC转Windows插件

可以用package-win和wine-stable。

还在安装...