Vue+Vite+TypeScript+Electron 项目打包
检查配置
以下配置请认真检查,认真对比,不要以为自己肯定是对的,问就是血泪经历((
vite.config.ts
base:'./', //默认是绝对路径,改成相对路径 |
router/index.ts
history: createWebHashHistory(), |
此处默认是createWebHistory
,需要改成Hash!!!!!!!!!!!!!!!!!!!
同时import
处也记得改!!!!
plugins/vite.electron.build.ts
// 打包 |
检查一下files:['**/*']
有没有写上!!!!
没有写上的话,打包之后的...../resources/app.asar
打开之后你会发现里面没有我们本来dist
目录下的那些文件!!
打包
运行npm run build only
即可(看package.json
的scripts
,这里我的build
需要进行类型检查,但是报错,所以懒得检查了)
大概率此时你会发现他在下载某几个东西的时候超时,即使你已经魔法了
网上有一些方法是让你修改用户目录下的.npmrc
,增加镜像,但是我试了,无事发生
ELECTRON_MIRROR=https://npmmirror.com/mirrors/electron/ |
所以还是老老实实用一些蠢办法罢((
那就是,报错的那个下载项目点一下链接自己下载,然后解压缩到(记得带上文件夹):
C:\Users\你的用户名\AppData\Local\electron-builder\Cache\winCodeSign
然后再build
((
最后在release\win-unpacked
文件夹里面找到exe
运行就可以了!
附赠调试小技巧
部署网页到云服务器
用来检查网页(Vite部分)本身是否有问题,具体教程可以看我前不知道多少篇的教程:
Vue.js(Vite)项目部署云服务器 | Rean’s Blog (rean-schwarze.github.io)
在开发环境下默认打开开发者工具
有些情况我们ban掉了快捷键或者常规我们调出开发者工具的手段用不了的时候,就让它默认打开一下就好了(
在background.ts
里面添加win.webContents.openDevTools()
:
const win=new BrowserWindow({ |
如果files:['**/*']
没写上,这时候打开开发者工具看一下源代码里面的index.html
等你会发现是空的(((或者是一些别的东西,总之不是dist
目录下的那些!
开发环境下读取编译文件
手动build
完毕后,修改background.ts
:
if(process.argv[2]){ |
如果此时还是白屏,恭喜你,99.9999%是没有修改router/index.ts
真的亲测,别问为什么
参考链接
electron打包引入dist/index.html页面空白问题解决 - 简书 (jianshu.com)
Vite+Electron快速构建一个VUE3桌面应用(三)——打包 · Issue #54 · hunter-ji/Blog (github.com)