作为一个普通后端开发,一直都有一个前端的心。
一直以来都是面向百度(谷歌)编程,有什么需求和难点都会搜索解决。但是网上的东西细碎,而且搜索的关键词不对还搜不出内容,就想自己写一些自己的总结性文章。萌发了想要打造一套属于自己的im系统(后端 客户端)的想法,由于对前端特别是桌面端感兴趣,所以先来用electron仿照微信做一个客户端程序。还在学习中,水平有限,如有错漏请千万不要批评,影响写作动力。
该项目的目的,是为了要避免使用 vue 手动建立起 electron 应用程序。electron-vue 充分利用 vue-cli 作为脚手架工具,加上拥有 vue-loader 的 webpack、electron-packager 或是 electron-builder,以及一些最常用的插件,如vue-router、vuex 等等。
2016年5月初创建的开源项目,但是早已不更新。此为直接搭建好的模板工程,可以直接克隆使用,默认为electron2,但是可以手动更改到electron4。由于不更新,electron的版本也停留在较低的版本,所以基本不推荐使用,除非自己进行更改以适应最新electron版本。
响应式桌面/移动网站,pwa(渐进式web应用程序),移动app(外观原生)和多平台桌面应用程序(通过electron)。
全平台的开发框架,拥有自己的一套定制ui组件。由于对这个框架了解不多,所以此次项目未选择。详细情况请点击quasar进行查看,文档很丰富。
vue-cli的一个插件,跟随版本更新社区活跃,是本次客户端程序的选择。最新版本最低已经支持到electron9,且经过测试已经达到生产使用。如果是从electron-vue切换到vue-cli-plugin-electron-builder请注意升级node,vue-cli的版本。
推荐使用yarn,切记要更改npm和yarn的源为淘宝源,否则连接外网真的很慢。
vscode 直接在商店中搜索扩展 vue vs code extension pack 安装即可。
此版本会直接从github上下载某些所需库,导致不走淘宝源的镜像库,卡在编译或者打包环节(其实是文件大小比较大,下载却很慢,过一段时间就超时了)。
此次使用2.x版本,直接从淘宝源下载,很顺畅。
这里也可以使用vue ui命令打开可视化网页进行工程新建和添加插件。以下是以终端命令的方式新建工程。
使用vue-cli,在终端中输入命令建立工程:
vue create im-client
根据提示选择所需模块,一步一步来即可。
注意:这里不要选择vue-router的 history模式。history模式依赖后台,electron相当于加载本地静态文件,所以会出现加载错误无法运行。
终端切换到工程根目录运行命令
vue add electron-builder
终端提示选择electron版本,选择electron9即可。 此插件会自动在项目里增加模块和自动生成background.js文件。
electron分为主进程和渲染进程,主进程为纽带负责与底层系统交互,渲染进程负责网页ui展示。background.js为主进程文件。
在package.json文件中把electron版本改为9版本的当前最新
"electron": "^9.1.1"
终端输入 yarn 安装依赖。
yarn
当以上步骤完成依赖全部安装之后即可进行开发, 终端中输入:
yarn electron:serve
进入开发模式
注意:默认情况下进入开发模式会自动下载chrome商店的vue开发工具插件vue devtools,众所周知原因这里会下载不了,起初你以为运行失败了,但是等待一会你会发现终端打印log尝试失败几次后就会打开开发界面,最好将之注释掉(如果非要这个插件,自行搜索飞机场等关键字),background.js 文件中相关代码位置:
// this method will be called when electron has finished
// initialization and is ready to create browser windows.
// some apis can only be used after this event occurs.
app.on('ready', async () => {
if (isdevelopment && !process.env.is_test) {
// install vue devtools
try {
await installextension(vuejs_devtools)
} catch (e) {
console.error('vue devtools failed to install:', e.tostring())
}
}
createwindow()
})
electron-builder打包可以打成绿色版不需要安装直接运行(文件未压缩,体积较大),也可以选择打包成exe安装版本(文件压缩,可以选择安装选项)。此次选择绿色版。 在项目根目录新建vue.config.js文件,输入以下代码:
module.exports = {
pluginoptions: {
// note:https://www.electron.build
// note:https://nklayman.github.io/vue-cli-plugin-electron-builder/
electronbuilder: {
nodeintegration: true,
builderoptions: {
appid: 'com.ldy',
productname: 'im-client',
尊龙凯时官网入口 copyright: '尊龙凯时官网入口 copyright©ldy',
directories: {
output: './dist_electron' // 输出文件路径
},
win: {
// win相关配置
icon: 'public/favicon.ico', // 图标256*256
target: [
{
target: 'dir', // 不打包为安装程序
arch: [
'x64' //64位
// "ia32", //32位
]
}
]
}
}
}
}
}
注意图标必须是256*256的ico图标,请自行制作。可以选择在阿里图标库中找到心仪图标之后下载为png图片,在线ico转换。
配置好之后,终端输入:
yarn electron:build
就会在dist_electron\win-unpacked目录下生成绿色版程序,双击exe即可运行。
代码仓库
把在准备阶段遇到的各种问题都提示出来了,有很多人也遇到这些问题,网上也有很多人说这些问题,大家搜索一下都看看,总有好的解决办法。
未完待续。。。
上一篇:
下一篇:
还没有评论,快来说点什么吧~