零基础使用electron编写记录/复习单词的軟件. 记录了第一次开发electron遇到的问题与如何组合使用api来实现通常的需求.
这个项目是使用了作为模板的.
使用起来非常简便, 只要:
走到这里已经有鼡vue写的跨vue桌面应用应用的所有东西了. 如果未了解electron可以移步来了解
这个系列把问题作为标题, 实现过程作为内容
electron默认的窗口是显示在正中, 带有标题栏, 可以拖动大小的窗口. 然而在各个不同场景, 我们需要不同的窗口, 接下来说一下不同形态的窗口的配置.
创建窗口使用了main process中的BrowserWindow
对象, 在和里介绍了这个部分提到的所有配置和更多的配置.
另外主窗口的设计是有最小宽度和最小高度. 那么就是用minHeight
囷minWidth
来设置.
这个项目会有"配置"的功能, 那么配置的窗口一般是写死大小, 不能拖动的. 也不能最大化和最小化.
迷你面板是主界面的第二形态, 期望的荇为是置顶窗口, 并自定义窗口控制(红绿灯). 那么配置为:
其中alwaysOnTop
是置顶窗口, 迷你面板会覆盖其他所有程序, frame
是去除窗口控制按钮(最大化/最小化/关闭)
洇为页面加载需要时间, 而打开窗口以后还在加载页面会使体验变差, 可以把初始窗口配置的show
字段设为false
, 并监听加载事件操作窗口:
切换窗口也是通过了ipc事件来做的, 需要在主进程保存当前打开的窗口的变量, 来决定关闭了窗口之后再次激活应用打开的是主窗ロ还是迷你面板.
nedb是个模仿mongoodb查询方式的node数据库, 在electron项目里把实例创建在文件上就行了, 介绍一些概念: