【Tauri2.0教程(六)】打包程序运行过程中必要的资源文件

145 阅读1分钟

前言

在开发桌面应用的过程中,除了程序源码以外通常还需要一些静态资源。比如程序用到的一些图标等等。

更有甚者,软件本身是依赖其他可执行文件开发的,那么这时候就需要把可执行文件也包含进来,默认情况下,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文件夹,放放入需要的资源,如图所示:

image.png

可以看到我在配置的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编译程序以后,双击得到的可执行文件,发现已经可以正常引用上述可执行文件了。