前言
在开发桌面应用的过程中,除了程序源码以外通常还需要一些静态资源。比如程序用到的一些图标等等。
更有甚者,软件本身是依赖其他可执行文件开发的,那么这时候就需要把可执行文件也包含进来,默认情况下,tauri只会编译并打包代码,不会包含其他软件需要的资源。在应用开发过程中不会有问题,但是等到编译的时候就会发现找不到资源的情况。
本文将解决这一需求。
配置
修改 tauri.conf.json
文件。
"bundle": {
"active": true,
"targets": "all",
// 以下文件为tauri自带,主要说明了要包含的icon文件。
"icon": [
"icons/32x32.png",
"icons/128x128.png",
"icons/128x128@2x.png",
"icons/icon.icns",
"icons/icon.ico"
],
// 本字段为我要添加的可执行文件内容
"resources": ["bin/"]
}
在src-tauri
文件夹下面创建bin
文件夹,放放入需要的资源,如图所示:
可以看到我在配置的bin文件夹下面放置了两个文件夹,文件夹下面还有若干文件。
程序
在程序中使用引入的可执行文件upscayl-bin.exe
.
async fn upscale_image(input: String, suffix: String) -> String {
let path = env::current_dir().expect("获取目录失败");
let exec_path = path.join("bin\win\bin\upscayl-bin.exe");
// ... 省略若干代码
}
编译程序
使用npx tauri build
编译程序以后,双击得到的可执行文件,发现已经可以正常引用上述可执行文件了。