electron---windows客户端开发探索

it2023-03-06  78

话不多说,直接开干。

起因:一个用electron框架开发的windows版浏览器需要我负责了。。。。。

撸代码。。。。。将不知道的点记录下来,仅供后续查看。

 

1.本地启动windows浏览器命令

"start": "chcp 65001 &&  electron ."

chcp 65001解释:设置cmd显示为utf-8编码,windows cmd窗口执行此命令后cmd显示不在乱码

electron .:启动命令,执行main.js入口文件

我本机的系统环境:

OS Name: Microsoft Windows 10企业版

OSVersion: 10.0.14393 N/A Build 14393

有时在cmd中输出的中文乱码

解决办法如下:

在cmd中输入CHCP 65001

按Enter键

然后查看不再乱码

注:CHCP是一个计算机指令,能够显示或设置活动代码页编号。

代码页 描述

65001   UTF-8代码页

950繁体中文

936简体中文默认的GBK

437 MS-DOS美国英语

但是通过CHCP设置编码是治标不治本的

想永久的更改cmd编码值需要修改注册表

2.electron .找到入口文件main.js并执行

main.js文件从上到下顺序执行,先对关于electron自有的东西进行梳理=,对main.js从上至下进行梳理

electron提供的类

const { app, BrowserWindow, Menu, BrowserView, remote, screen } = require('electron');

app:相当于整个应用,对事件负责。对windows浏览器来讲,app就是指整个应用,app可以监听应用的一切事件,并且控制app执行的事件

app对象,作用:产生事件、监听事件、执行事件,控制整个应用事件的生命周期,具体事件有很多,用到再说

BrowserWindow:BrowserWindow对象用于创建和控制浏览器窗口。

Menu:创建原生应用菜单和上下文菜单。仅在主进程( main process)中可用, 但您也可以在渲染进程(render process)中通过  remote  模块使用它

BrowserView:创建和控制视图. 被用来让 BrowserWindow 嵌入更多的 web 内容。 它就像一个子窗口,除了它的位置是相对于父窗口。 这意味着可以替代webview标签.

remote:在渲染进程中使用主进程模块..模块为渲染进程(web页面)和主进程通信(IPC)提供了一种简单方法

screen:检索有关屏幕大小、显示器、光标位置等的信息。

在electron中也可以使用node.js的类

const path = require('path');

process:进程,也是nodejs提供的,process.execPath 属性返回启动 Node.js 进程的可执行文件的绝对路径名。

服务端通信封装成类:作为客户端,需要和服务端通信,请求服务端提供的接口,可以专门封装一个类,里面封装各种调用服务器接口的方法

应用菜单展示封装成类:应用菜单的展示与隐藏

最新回复(0)