election 28.1.4 踩坑

election 28.1.4 踩坑


electron下载失败

npm  install electron -d

解决:

新建.npmrc文件内容为:

electron_mirror=https://registry.npmmirror.com/-/binary/electron/

打包下载github包失败

build 的时候 命令执行electron-builder --mac

出现github上面的包下载不下来,即使开了vpn,但是浏览器却可以下载

解决

复制命令行上面提示的下载地址,浏览器下载github包后放到系统指定目录再次执行打包命令行就可以了,不同系统的目录

macOS: ~/Library/Caches/electron

Linux: ~/.cache/electron

windows: %LOCALAPPDATA%\electron\cache


macOS,打开终端输入 open   ~/Library/Caches/electron,会车,就可以打开该目录



打包成功后,文件非常大

试一下macOS反编译app.asar包,


解决:

安装asar npm包

npm  install asar -g

到打包后的目录,找到app.asa文件,在该目录打开终端,执行下面命令,在aaa目录下就能找到反编译后的内容

asar extract app.asar ./aaa

发现,把node_module包也打包进去了,我们需要移除node_module!

在package.json files配置里面把node_module目录排除

打包了一整个node_module,但是软件层面又需要某个包

解决:

把不需要的npm包移动到devDependencies,且移除build.files配置下面的"!node_modules”内容

extraFiles属性不适用该场景

Mac系统,x掉软件后,托盘图标还在,并且点击后不会出现新街main

解决:

app.on("window-all-closed", () => {

  // if (process.platform !== "darwin") {

  app.quit();

  // }

});

Vue打包桌面应用后,界面空白

解决:

路由改为hash模式就可以了

html2canvas 图片重新定向

Electron拦截webview里的接口重定向本地文件_electron webview 重定向-CSDN博客

详解electron如何拦截网络请求并处理响应_node.js_脚本之家

Mac 未签名或者未上传到appstroe的dmg下载后提示 文件损坏

系统作妖!!

解决:

MacOS安装dmg提示已文件已损坏的解决方法

MacOS安装dmg提示已文件已损坏的解决方法_dmg提示损坏-CSDN博客




sudo xattr -d com.apple.quarantine /Applications/TxtMardown.app


 

Window 打包命令行要区64bit和32bit

如果和Mac一样一个命令行,在 build的target里面配置两个arch,他会把支持两个bit的包都打到一个文件,mac却是不会

解决

不要这样做:
"arch": [

            "ia32",

            "x64"

          ]


改为命令行分开

Win7上面安装报错:“electron 无法定位程序输入点 DiscardVirtuaMemory于动态链接库 KERNEL32.dll上”

解决



electron版本太高,降低版本:electron打包后在win7上打开异常KERNEL32.dll_getpackagefamilyname 无法定位-CSDN博客



window上面打包后,会空白小会在出现内容,打开软件会短暂空白0.1秒

解决

(效果一般,第一次点击图标后,可能好久才会出现窗口)
BrowserWindow | Electron 中文网
默认打开隐藏窗口,在ready-to-show事件里面才切换窗口显示

const { BrowserWindow } = require('electron')

const win = new BrowserWindow({ show: false })

win.once('ready-to-show', () => {

  win.show()})



如果要兼容配置很低的电脑,可以关闭硬件加速

app.commandLine.appendSwitch('no-sandbox');

app.commandLine.appendSwitch('disable-gpu'); app.commandLine.appendSwitch('disable-software-rasterizer');

app.commandLine.appendSwitch('disable-gpu-compositing'); app.commandLine.appendSwitch('disable-gpu-rasterization');

app.commandLine.appendSwitch('disable-gpu-sandbox'); app.commandLine.appendSwitch('--no-sandbox'); app.disableHardwareAcceleration();

参考:electron白屏问题? - 知乎

 

或者

这是浏览器加载和解析本地javascript时候需要一点点时间,index.html是已经读取了的,如果怀疑的话可以试下在index.html文件里面加点背景颜色,可以看到会先出现背景颜色,稍后才后内容

优化:
在index.html文件里面添加行内样式设置背景颜色和logo居中来提高体验,vscode就是这样的方式处理,默认黑色背景



 


vite打包后file协议跨域,因为它使用的是原生esmodule,遵循浏览器安全协议导致跨域

网络都推荐用@vitejs/plugin-legacy,但是这会让文件以来变大(额外打包了垫片),而且window10系统上还出现空白好久才出现vue内容的情况


解决

我们禁用了elecron的跨域就好了

app.whenReady().then(() => {

    //来允许加载非安全内容和禁用 web 安全策略

    app.commandLine.appendSwitch('allow-running-insecure-content');

    app.commandLine.appendSwitch('disable-web-security');

})


 

相关推荐

  1. election 28.1.4

    2024-02-20 13:38:02       48 阅读
  2. mySQL记录

    2024-02-20 13:38:02       65 阅读
  3. Pinia 记录

    2024-02-20 13:38:02       59 阅读
  4. FollowYourPose 安装

    2024-02-20 13:38:02       45 阅读
  5. golang记录

    2024-02-20 13:38:02       38 阅读
  6. Keepalived

    2024-02-20 13:38:02       51 阅读
  7. uniapp细节

    2024-02-20 13:38:02       46 阅读

最近更新

  1. docker php8.1+nginx base 镜像 dockerfile 配置

    2024-02-20 13:38:02       94 阅读
  2. Could not load dynamic library ‘cudart64_100.dll‘

    2024-02-20 13:38:02       101 阅读
  3. 在Django里面运行非项目文件

    2024-02-20 13:38:02       82 阅读
  4. Python语言-面向对象

    2024-02-20 13:38:02       91 阅读

热门阅读

  1. uniapp登录逻辑

    2024-02-20 13:38:02       43 阅读
  2. 随手写的小程序2 一个nc能控制的程序

    2024-02-20 13:38:02       53 阅读
  3. OSPF复习笔记--自用

    2024-02-20 13:38:02       43 阅读
  4. react虚拟dom及实现原理

    2024-02-20 13:38:02       43 阅读
  5. Spring学习笔记(四)AOP介绍

    2024-02-20 13:38:02       40 阅读
  6. CSS常用技巧

    2024-02-20 13:38:02       50 阅读
  7. C++BST(二叉搜索树)应用场景

    2024-02-20 13:38:02       55 阅读
  8. Codeforces Round 928 (Div. 4) (A-E)

    2024-02-20 13:38:02       53 阅读
  9. com.google.android.material.tabs.TabLayout

    2024-02-20 13:38:02       53 阅读