
1、Electron: electron是一个使用js,html和css等的web技术创建原生桌面应用的框架,他基于chromium和node.js,构建的应用可以在Mac,windows和Linux三个平台上运行。
2、React和react-router 在该项目中负责构建单页面应用和路由跳转的实现。
3、Antd 作为UI框架。
我们使用目前已经比较成熟的create-react-app脚手架来创建一个react项目,关于这个脚手架的更多资料可以查看: https://facebook.github.io/create-react-app/docs/getting-started。
这里我们使用如下的命令:
如果成功,此时可以打开浏览在 http://localhost:3000/ 上会运行着我们新建的项目。
可以通过npm run eject d出内建,方便看出有哪些安装的依赖。
安装成功后还不能直接运行一些命令,需要先进行一些配置,至少要有个electron需要用到的main.js入口文件(根目录下)。
修改启动命令:
这里的dev想要同时执行两个命令,使用了|将两个命令分开。
其中electron . --debug ,是调试命令需要运行项目同时开启开发者工具,入口文件中会对这个命令进行判断,并开启指定工具。
(复制github上electron的demo项目中的main.js做一些修改)
如下是当前全部的main.js内容
如上,注意将主进程的loadUrl设置为localhost:3000,这样可以展示运行在这个地址下的页面。
使用如下命令安装:
安装好后:在main.js中进行配置,参考上面main.js文件中的注释。
项目构建完成后,这里开始讲解一下,react的项目和electron结合使用中的一个应用问题。先把需求提出来,如下图,我们需要在页面中点击右上角最小化时将页面窗口最小化(点击×时的功能以此类推),当点击登录时修改窗口大小,并展示直播页面。
要完成这个功能,要使用到Electron的API,这就要先从electron应用结构来说起,electron结构中分为主进程和渲染器进程,如下是electron官网的一段话。
此时,回想一下需求,点击“—”时最小化,我们发现触发事件的ui在web页面(react组件)中,而想要 *** 作的mainWindow对象(主进程中打开的那个页面)却在主进程中。所以,尝试一个解决方案,让web页面(react组件)和主进程进行通信。
实现进程通信使用到的api有ipcRenderer和ipcMain.
具体运用如下:
如上点击时执行minWindow,引入ipcRender发送一个消息”min”,main.js中有对应的ipcMain进行监听,请看如下:
因此,主进程收到消息后,即可对窗口进行处理为最小化,而登录功能与此类似,传递消息到主进程同时跳转页面,主进程收到消息后执行窗口最大化,因此就实现了最初的需求。
同理,当组件有其他 *** 作需要主进程作出反馈时,也可以使用此方案。
网上有很多相关的文章,自己根据实际的 *** 作过程做了一些整理,参考文章地址:
windows远程桌面服务配置
一、首先右键点击我的电脑或通过控制面板-系统.进入系统属性界面.找到"远程设置"并打开.
二、在系统属性中找到"远程"子夹下的远程桌面分组框,选择第二项"允许任意版本远程桌面的计算机远程连接"
三、到这一步.可以说远程桌面访问服务已经开启.但是接下来我们还需要配置允许访问的用户账号.还是刚才的对话框.找到"选择用户"
四、在这里选择添加新的授权用户也可以不添加,使用默认的管理员账户
五、授权完毕后.远程桌面服务就算是配置完成了.下面我们来进行远程连接.首先我们得知这个服务器的内网IP是188.188.3.249如需公网远程连接,需要有公网IP.此处先以内网IP做例
六、在远程桌面的客户端电脑上,通过windows命令的方式,启动远程桌面连接界面,按下windows加r键,启动命令,然后在命令框中输入mstsc,然后点击回车即可启动windows远程桌面连接
七、在地址中输入远程服务器的IP地址(默认端口是3389,也可以通过修改注册表的方式把服务器远程端口改成其他例如4489,那么在连接的时候就要在IP地址后面加上端口号再连接,如果连接失败检查一下服务器是不是把防火墙开启了,关闭再重新试一下)
八、输入你的账号密码
九、远程桌面就可以访问了.这和直接在机房 *** 作服务器的效果是一样的.唯一的区别就是结束 *** 作后,记得注销账号.
十、如果要公网访问、则在路由器管理页面中,做端口映射,远程端口默认是3389,可以通过修改注册表的方式把服务器远程端口改成其他例如4489
然后在开启防火墙的情况下,把端口添加到防火墙的入站规则中
欢迎分享,转载请注明来源:内存溢出
微信扫一扫
支付宝扫一扫
评论列表(0条)