前言
这几天学习 Go 语言,看着 helloWorld 的几个示例,突然冒出既然 Go 编译这么方便,其 GUI 库会是什么样的?于是左搜右查,发现 Go 居然没有官方的 GUI 库!网评的意思是:“官方本来就没有心发展 Go 的 GUI 这块” ~ 好在互联网上已经涌现出不少成熟、好用的第三方界面库,使用它们,就同样可以写出同 C#、C++ 的界面,而且效率还更胜一筹,例如 用于构建 GUI 应用程序的 GO 库,对比下来,感觉 go-astilectron 看上去不错,于是尝试了一下,期间遇到了些问题,记录于此。
简介
go-astilectron
使用 GO 和 HTML/JS/CSS 构建跨平台 GUI 应用程序(由 Electron 提供支持)。简单说就是基于 Electron 使用 H5 构建 GUI,对于了解前端的开发人员着实容易上手,免去了了解各种 GUI 函数的麻烦。
示例
go-astilectron
提供了一个 demo,Github地址:
参考 READEME 文档,下载编译后可快速体验
问题
😭 但是,我按照步骤操作,编译后的 exe 文件居然启动不了,双击没有任何反应,搞了好久,就快要放弃的时候,从其 Issues 发现了些端倪 ~
排查
从 Issues 处可见,编译后的 exe 文件双击运行后,会在 C:\Users\{用户名}\AppData\Roaming\Astilectron demo
目录下解压相关 H5 资源文件(我双击后此处确实会生成临时文件,可见双击 exe 文件后确实运行来着)
本着好奇的心,查看了目录下所有文件,点来点去,发现此目录下的压缩文件vendor/electron-windows-amd64-v4.0.1.zip
双击居然提示文件已损坏!于是删除这些缓存文件又编译了几次,还依旧是文件已损坏…,这就不淡定了,难道版本文件问题?!🙄
于是就查找怎么替换 electron-windows-amd64-v4.0.1.zip
这个文件,翻了一圈 Go 库,莫有找到… 😣
于是又回头示例目录下 astilectron-bundler -v
重新编译了一下,此时从输出的日志中颤抖的发现了 electron-windows-amd64-v4.0.1.zip
几个大字:
原来 electron-windows-amd64-4.0.1.zip
会被缓存在目录 D:\Users\Temp\astibundler\cache
下,缓存的文件也是已损坏,初步判断 electron-windows-amd64-4.0.1.zip
都是从这里复制过去的,于是删除此目录下的缓存,重新编译,果然,此文件会重新下载!!🎉😁🎉
然后颤抖着双击生成的 exe 文件,终于启动起来了!!此处泪流满面… 😭
总结
可能是某一时刻下载文件 electron-windows-amd64-4.0.1.zip
时,网络不好,造成文件没下载完整导致损坏,然后就发生了上面这起事故,不过好在找到问题根源,解决了!!!
最后一句:凡事多从自身找问题~ 😋
本文作者: 行风
本文链接: https://acme.top/go-astilectron-demo-setup
版权声明: 本站文章欢迎链接分享,禁止全文转载!
站点高亮插件不错,用的是那款。
站点高亮插件指的的哪个?没理解
代码高亮
是主题自带的,用的 Prism.js 这个库,官网有很多主题可选