全网搜不到,electron(vue3+vite+flask+sqlite + 其它应用的)教程,那只能自己来踩坑了,真的是踩了完完全全一整天,从上午十点到,现在这个凌晨一点,终于完结了,哎要不是有兴趣,给自己的原创程序加个桌面应用版本。当然明天还要继续加上paddle+flask的打包程序!加油!
第一大坑 浏览器访问不了资源文件,路径错误导致
解决: vite.config.js
文件中增加
export default defineConfig({
base: './',
})
分析: base: './'
将vite项目打包是的路径变为 相对路径
,若不指定是 绝对路径
,nginx可以正常使用,但由于electron是使用 file:
形式的路径将无法正常访问。
第二大坑 无法杀死pyinstaller打包的进程
场景:
pyinstaller vs-proxy.py -F --add-data "F:\\Document\\VSCode\\Projects\\courseware-abstract\\vs-proxy\\app\\models\\db\\vsearcher.db;.\\app\\models\\db" --nowindowed
"build": {
"extraResources": [
{
"from": "./resources/app",
"to": "./app"
}
]
}
app.whenReady().then(() => {
createWindow()
let app_path = path.join(process.cwd(), 'resources/app');
let ps = child_process.spawn(path.join(app_path, 'vs-proxy/vs-proxy.exe'))
app.child_process_list.push(ps)
}
app.child_process_list.map(ps => ps.kill())
解决方案: 打包python的命令中的 -F
去了,即打包成一个目录,包含运行时所需要的所有文件。
pyinstaller vs-proxy.py --add-data "F:\\Document\\VSCode\\Projects\\courseware-abstract\\vs-proxy\\app\\models\\db\\vsearcher.db;.\\app\\models\\db" --nowindowed
原因分析: 目前还未知,真的是耗费的我一整天,踩坑
Original: https://blog.csdn.net/BREATH57/article/details/125476670
Author: Breath57
Title: electron(vue3+vite+flask+sqlite)构建桌面应用程序 踩坑
原创文章受到原创版权保护。转载请注明出处:https://www.johngo689.com/748985/
转载文章受原作者版权保护。转载请注明原作者出处!