首页 > 分享 > windows环境下electron开发遇到的各种坑汇总

windows环境下electron开发遇到的各种坑汇总

进行electron开发要经常参考github上的优秀代码,亦或者需要使用npm、cnpm、yarn这些包管理工具来管理项目,在开发过程中会有很多坑需要填,这篇博客就综合记录下这些知识点

1、github速度慢的解决方法

首先,在www.ipaddress.com中查看github.com以及github.global.ssl.fastly.net映射地址。
然后,在hosts中进行对应的配置,这里根据当前的映射地址进行配置,需要注意的是这个映射地址经常都在变,当发现速度变慢后,建议再次更新地址。
最后,执行ipconfig/flushdns刷新dns,如果不行的话,就重启。

140.82.114.4 github.com 199.232.69.194 github.global.ssl.fastly.net 12

配置后,使用ping github.com后应该能明显看到速度变快

2、npm、cnpm以及yarn包管理工具的配置

这里就不介绍怎么安装了,需要说明的是由于国内网络问题,npm下载速度很慢可以通过配置淘宝镜像来管理包工具,cnpm以及yarn都是可以配置成淘宝镜像的,以下以cnpm为例来说明,yarn也是一样的配置。

cnpm config set registry https://registry.npm.taobao.org cnpm config set disturl https://npm.taobao.org/dist 12 3、electron 开发遇到的坑

在electron桌面开发中遇到很多坑,这里一一总结下

坑1: electron桌面无法使用react-devtools
在具体package.json中使用electron-devtools-installer来管理devtools,但是当配置electron为9.xx版本后,无法正常的显示react-devtools,这个对于使用reactjs来进行桌面应用开发是相当痛苦的,经过各种尝试,发现以下配置是能够正常加载出react-devtools的

"electron-devtools-installer": "^2.2.4", "electron": "^8.0.1", "react-dom": "^16.3.1", "react": "^16.3.1", 1234

坑2:ajax网络访问提示NET::ERR_CERT_AUTHORITY_INVALID
这种情况实际上表示当前访问的网络是不安全,没有对应的证书,客户端解决的办法可以参考electron私有部署webview加载不安全的https网址,我通过添加如下代码解决问题

app.commandLine.appendSwitch('--ignore-certificate-errors', 'true') 1

坑3:yarn install时候 一直提示electron waiting
这个可以参考安装Electron的时候,卡住问题 ,我是用的yarn来管理package,所以实在.yarnrc文件中进行对应的配置

electron_mirror="https://npm.taobao.org/mirrors/electron/"(填上这句话即可) 1

坑4:ffi-napi在typescript中使用提示No native build was found
这个坑太大了,我是基于github上的tagspaces项目来修改的,由于项目需要调用c/c++的dll所以考虑采用ffi-napi来调用dll(ffi已经out了),但是在编译过程中一直都报以下错误

renderer.dev.js:113102 Uncaught Error: No native build was found for platform=win32 arch=x64 runtime=electron abi=76 uv=1 libc=glibc at Function.module.exports../node_modules/node-gyp-build/index.js.load.path (renderer.dev.js:113102) at load (renderer.dev.js:113067) at Object../node_modules/ref-napi/lib/ref.js (renderer.dev.js:184979) at __webpack_require__ (renderer.dev.js:771) at fn (renderer.dev.js:131) at Object../node_modules/ffi-napi/lib/ffi.js (renderer.dev.js:89883) at __webpack_require__ (renderer.dev.js:771) at fn (renderer.dev.js:131) at Module.<anonymous> (renderer.dev.js:26630) at Module../app/services/webdav-io.ts (renderer.dev.js:27293) 1234567891011

一开始以为是node版本问题,后面发现electron项目中国electron版本不一样对应的node版本会自动调整,所以不是本地node版本问题。花了几天时间来解决这个问题,最后在一边文章中看到希望,No native build was found in electron #725 ,这篇文章最后有提到
electron-leveldown-pouchdb-webpack,这里提到通过webpack.config.js中添加下插件

const webpack = require("webpack"); { ... plugins: [new webpack.ExternalsPlugin("commonjs", ["leveldown"])] } 12345

由于报错的的是ffi-napi模块,所以进行对应的修改

const webpack = require("webpack"); { ... plugins: [new webpack.ExternalsPlugin("commonjs", ["ffi-napi"])] } 12345

再次编译问题解决

坑5、ChunkLoadError: Loading chunk 11 failed问题
在生产环境中报如下错误

react-dom.production.min.js:209 ChunkLoadError: Loading chunk 11 failed. (error: file:///D:/code/safebox/app/dist/11.renderer.prod.js) at Function.o.e (file:///D:/my/safebox/resources/app/dist/renderer.prod.js:1:723) 123

这个在webpack的生产环境配置中output.publicPath位置没找对引起的,我这边是需要根据安装路径来动态决定,所以在entry对应的启动页中添加如下代码

__webpack_public_path__ = path 1

这里的path对应你的动态路径,问题完美解决

相关知识

Win7 USB CDC驱动安装指南:解决Windows 7系统下的USB CDC设备识别问题
配置 Windows 环境变量的方法
台湾地区Windows操作系统盗版现象对编程环境的影响及解决方案探讨
Windows Subsystem for Linux入门:安装+配置图形界面+中文环境+工作环境(vscode)
探索优雅的字体管理:GcsSloop的FontsManager
改变Windows 98和Windows 2000双重启动的启动顺序
移动应用开发是干什么的?移动应用开发的前景
comblockengine windows
AI应用开发实战
字体管理软件哪个好?windows字体管理工具

网址: windows环境下electron开发遇到的各种坑汇总 https://m.huajiangbk.com/newsview847079.html

所属分类:花卉
上一篇: 算法复杂度解析与实例
下一篇: 了解“花性” 安全赏花