Electron开发遇到的各种坑

Electron开发遇到的各种坑


前言

要被Electron各种版本问题折磨死了😭
每隔一段时间,就会遇到一个或新或旧的坑
年纪大了脑子不太好🤦‍♀️就还是记下来吧


一、Electron项目嵌入iframe页面,报错:SyntaxError: Unexpected token import

问题描述

本来以为是babel解析、模块化规范的问题,结果改来改去发现是electron版本的问题!!!真的是很绝,因为之前打包的问题Mac下项目Electron版本一直使用的是2.0.4,所以就会出现上面的问题

解决方案

将Electron版本升级,我是升级到了6.1.12就可以正常嵌入页面了

二、Electron项目打包白屏

问题描述

开发环境项目一切正常,打包后启动项目白屏无报错

解决方案

  1. 第一次遇到这种情况是项目结构不对,具体参考脚手架搭建的项目结构就可以解决
  2. 第二次遇到是修改webpack.renderer.config.js文件内容在这里插入图片描述具体修改内容如下:
nodeModules: path.resolve(__dirname, '../node_modules')
  1. 待补充

三、Electron打包后应用闪退

问题描述

Mac环境下,项目打包正常无报错,但是运行应用后,应用程序图标弹跳一下就没反应了,窗口没有打开

解决方案

🍂方案一:最初的方案是Electron版本太高了,将Electron版本改为2.0.4就没有问题了,项目运行一切正常。但是!!!这和我上面记录的需求就冲突了,用2.0.4可以正常打包,但是不能通过iframe标签嵌入其他vite开发的Vue项目;升级Electron版本,不能正常打包可以正常嵌入。
🍂方案二:✨package.json中"mac"的配置不用加target就可以了,electron可以使用高一点的啊版本,我用的是9.0.5打包和启动都正常了,神奇😂

四、yarn build过程中报错

问题描述

Windows下electron-builder版本^20.19.2正常,在Mac下打包报错。报错内容如下:

Can't locate Mac/Finder/DSStore.pm in @INC (you may need to install the Mac::Finder::DSStore module) (@INC contains: /Library/Perl/5.30/darwin-thread-multi-2level /Library/Perl/5.30 /Network/Library/Perl/5.30/darwin-thread-multi-2level /Network/Library/Perl/5.30 /Library/Perl/Updates/5.30.2 /System/Library/Perl/5.30/darwin-thread-multi-2level /System/Library/Perl/5.30 /System/Library/Perl/Extras/5.30/darwin-thread-multi-2level /System/Library/Perl/Extras/5.30) at /private/var/folders/tj/sjr_3yqn35g72vzjbwt3wcb80000gn/T/t-XweIs5/1-dmgProperties.pl line 3.
BEGIN failed--compilation aborted at /private/var/folders/tj/sjr_3yqn35g72vzjbwt3wcb80000gn/T/t-XweIs5/1-dmgProperties.pl line 3.

Can't locate Mac/Finder/DSStore.pm in @INC (you may need to install the Mac::Finder::DSStore module) (@INC contains: /Library/Perl/5.30/darwin-thread-multi-2level /Library/Perl/5.30 /Network/Library/Perl/5.30/darwin-thread-multi-2level /Network/Library/Perl/5.30 /Library/Perl/Updates/5.30.2 /System/Library/Perl/5.30/darwin-thread-multi-2level /System/Library/Perl/5.30 /System/Library/Perl/Extras/5.30/darwin-thread-multi-2level /System/Library/Perl/Extras/5.30) at /private/var/folders/tj/sjr_3yqn35g72vzjbwt3wcb80000gn/T/t-XweIs5/1-dmgProperties.pl line 3.
BEGIN failed--compilation aborted at /private/var/folders/tj/sjr_3yqn35g72vzjbwt3wcb80000gn/T/t-XweIs5/1-dmgProperties.pl line 3.

解决方案

通过改变electron-builder版本解决的,调整为以下版本:

"electron-builder": "^22.7.0"
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值