前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >Electron问题解决小集合

Electron问题解决小集合

作者头像
icepy
发布2019-06-24 18:03:44
2.4K0
发布2019-06-24 18:03:44
举报
文章被收录于专栏:子曰五溪子曰五溪

再小的个体,也有大大的能量,上一篇从Haskell讲到函数式的精髓:“大事化小,小事化无”,问题总是有的,解决之道,就是从这些小小的集合中,蕴含着。

官网的FAQ:

https://electronjs.org/docs/faq

二进制文件在asar包中无法访问:

构建时需要在package.json文件中写上"asar":false,原因是electron打包时二进制文件在asar包中无法访问,如果上述设置无法解决,就只能硬编码,Mac规则如下:app.asar存在就直接引用,如果app.asar不存在,将路径替换成app.asar.unpacked,如果这个也不存在,需要根据不同的操作系统进行硬编码。

打包之后如何查看main进程中的日志:

可以通过/Applications/DingTalk\ Develper\ Tools.app/Contents/MacOS/DingTalk\ Develper\ Tools 来启动应用,至少能在主进程中将日志打印在终端里,有助于调试定位问题。

项目中不要引用无协议URL:

比如iconfont站给的iconfont引用的URL都是 //xxx ,由于打包之后协议会变成app://会造成iconfont无法显示,所以编写时,一定要写上协议如http://或https://。

理解ipc通信:

在开发的过程中,一定要理解“主进程”和“渲染进程”的概念,并且对ipc通信的方案了解清楚。因为如果想在两个“渲染进程”来处理共享的数据,这个时候就需要在主进程中持有,根据通信来共享,这很有用。

如何打包:

使用electron-builder或electron-packager,一般都有两种方式,全局或局部。全局的话就按照正常的Node.js全局模块安装即可,局部稍微写两行代码。

webview的使用:

全屏时需要设置width:100%,height:100%,这个必须依赖父容器。

缓存目录下载的问题:

electron与Node.js的一些缓存目录~/.electron-gyp ~/.electron ~/.node-gyp ~/AppData/Roaming/npm-cache/_prebuilds。如果下载某些文件死活下载不下来,那么只能通过其他方法下载下来然后放到对应的缓存目录。

编译C++的问题:

如果需要指定编译C++模块,那么可以使用node-gyp rebuild --target=1.7.6 --arch=x64 --dist-url=https://atom.io/download/electron编译成指定的模块

墙的问题:

有条件的上SS吧,没有条件的换国内淘宝的源,这个没办法解决,很多情况下都是因为墙,下载不来完整的代码而导致的各种错误。

渲染进程开发的问题:

在渲染进程中基本的开发体验和你在浏览器中是保持一致的,但是由于Node.js环境的问题,可能在某些模块上会有差异,这个部分关注官方的FAQ就能解决。如果你使用的React,基本上就像开发Web应用一样,没有什么多少其他的问题存在,最多是注意打包路径的问题。

关于应用图标的问题:

图标需要在BrowserWindow中声明路径,但是三大平台的图标格式是不一样,Mac需要.icns,Windows需要.ico,Linux需要.png,这需要自己处理。

本文参与 腾讯云自媒体分享计划,分享自微信公众号。
原始发表:2018-01-06,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 子曰五溪 微信公众号,前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体分享计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
容器服务
腾讯云容器服务(Tencent Kubernetes Engine, TKE)基于原生 kubernetes 提供以容器为核心的、高度可扩展的高性能容器管理服务,覆盖 Serverless、边缘计算、分布式云等多种业务部署场景,业内首创单个集群兼容多种计算节点的容器资源管理模式。同时产品作为云原生 Finops 领先布道者,主导开源项目Crane,全面助力客户实现资源优化、成本控制。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档