120

使用 electron-vue 构建你的桌面应用 | 三毛

 6 years ago
source link: https://jkchao.cn/article/59f721eb836b695d8fffd53d
Go to the source link to view the article. You can view the picture content, updated content and better typesetting reading experience. If the link is broken, please click the button below to view the snapshot at that time.

使用 electron-vue 构建你的桌面应用

2017.10.30 20:58 字数 1494 喜欢 30 评论 11
1|imageslim

什么是 electron

官网里这么说:electron 提供了一个 Nodejs 的运行时,专注于构建桌面应用,同时使用 web 页面来作为应用的 GUI,你可以将其看作是一个由 JavaScript 控制的迷你版的 Chromium 浏览器。

翻译一下:它是一个运行时,可以像 Node 一样这样执行:electron app.js;也是一个使用 html + css + JavaScript 构建跨平台原生桌面应用的框架。

本质上,electron 就是一个带了 Chrome 浏览器的壳子(无需考虑兼容性的问题)。

electron 用 web 页面作为它的 GUI,而不是绑定了 GUI 库的 JavaScript。它结合了 Chromium、Node.js 和用于调用操作系统本地功能的 APIs(如打开文件窗口、通知、图标等)。

1|imageslim
electron1.jpg

59f721eb836b695d8fffd53d

具有两个进程,分别是主进程,以及渲染进程。

  • 主进程:运行 package.json 里面 main 脚本的进程成为主进程。

  • 渲染进程: 每个 electron 的页面都运行着自己的进程,称为渲染进程。

主进程也就是 npm run start 出来的窗口,我们关心的,还是窗口里面的内容,即是渲染进程。

electron-vue

electron-vue 是一个结合 vue-cli 与 electron 的项目,主要避免了使用 vue 手动建立起 electron 应用程序,很方便。

我们需要做的仅仅是像平常初始化一个 vue-cli 项目一样

vue init simulatedgreg/electron-vue my-project

就可以拥有一个 vue-loader 的 webpack、electron-packager 或是 electron-builder,以及一些最常用的插件,如 vue-router、vuex 等等的脚手架。

下图是我的 blog 结合 electron-vue 的目录:

1|imageslim
electron2.png

59f721eb836b695d8fffd53d

src 里的 main,即是主进程,而我们需要关心的则仅有 renderer 渲染进程。( main 进程里,添加了常用菜单栏的功能)。

打包发布有两种方式:

  • electron-packager,打包方式比较简单,想为哪个平台打包,执行相应命令即可。

    1|imageslim
    electron3.png

    59f721eb836b695d8fffd53d

  • electron-builder,自动化部署,持续集成,只要监测到 github 上绑定的代码仓库发生了变化,即可打包发布。挺高大上的。配置有一点麻烦,感兴趣的同学,可以参考这个 https://simulatedgreg.gitbooks.io/electr...

上手很愉快。

electron 中文文档: https://github.com/electron/electron/tre...

这有一个栗子: https://github.com/jkchao/vue-electron


About Joyk


Aggregate valuable and interesting links.
Joyk means Joy of geeK