The boilerplate for making electron applications built with vue-cli3 scaffolding。
一个electron
模板,使用了vue-cli3
脚手架搭建。
# Clone the repository
git clone https://github.com/lichao-eric/electron-vue-template.git
# Go into the repository
cd electron-vue-template
# Install dependencies
npm install
# Run the app
npm run dev
# Pack the app, windows-msi, mac-dmg
npm run pack
electron fold:
|-- electron
|-- const
|-- config # electron mainwindow configs
|-- bin
|-- core
|-- ipc.js # window控制ipc
|-- logs.js # 日志设置
|-- update.js # 更新
|-- helper
|-- window.js # window窗口工具方法
|-- icon
|-- electron-vue-template.png # app icon, config package.json
|-- app.js # main window
...
electron目录(暂定为electron的开发目录),electron的官方文档
Same as Vue development mode
"build": {
"productName": "electron-vue-template",
"appId": "com.electron.vue.template.app",
"mac": {
"target": "dmg",
"icon": "electron/icon/electron-vue-template.png"
},
"win": {
"target": "msi",
"icon": "electron/icon/electron-vue-template.png"
}
}
productName
: app name 应用名称
icon
: app icon 应用icon
more information electron-builder
更多打包配置项,可以查看electron-builder文档
可以本地直接打开,如果资源加载不报错,可以看一下路由是不是使用了history
, 如果是,可以改成hash
试一下
主要点就是webpack启动的vue工程与electron的结合
简单来说就是webpack启动vue工程 -> 在devServer的钩子中启动electron
,热更新代码
electron打入静态页面及资源文件
webpack打包生成静态资源目录webroot -> electron打包引用webroot目录
,生成dmg/msi安装包
暂未支持该目录热更新,可以通过watch该目录,重新启动electron来实现
在package.json
中有development
模块,可以看到port
,配置一下重启即可。
现安装包的文件命名规则为: package.json中productName+versions版本号
工程打包使用的是electron-builder
,默认配置msi
,dmg
。
如果需要配置linux
平台与安装包可以查看electron-builder文档
在vue-cli3脚手架基础上,与electron-quick-start结合构建。
-
electron
: electron app; -
electron-builder
: pack the electron app; -
vue
:vue
,vue-router
.etc -
webpack
: develop and build the vue codes;
...
show package.json
- electronjs.org/docs - all of Electron's documentation
- electronjs.org/community#boilerplates - sample starter apps created by the community
- electron/electron-quick-start - a very basic starter Electron app
- electron/simple-samples - small applications with ideas for taking them further
- electron/electron-api-demos - an Electron app that teaches you how to use Electron
- hokein/electron-sample-apps - small demo apps for the various Electron APIs