可以看官方文档:Embedding Additional Files | Tauri Apps
在绑定了文件之后,可以在js中访问嵌入的文件或者在rust中读取嵌入的文件内容,详细的配置操作如下。
在src-tauri中创建自定义文件夹或文件,并在在tauri.conf.json中配置嵌入:
例如我这里文件内容如下:
然后就可以在代码中读取这个文件了。
在js中读取文件的操作:
import { resolveResource } from '@tauri-apps/api/path'
import { readTextFile } from '@tauri-apps/api/fs'
const resourcePath = await resolveResource('data/example.json')
const langDe = JSON.parse(await readTextFile(resourcePath))
console.log(langDe)
在rust中读取文件的操作:
#[tauri::command]
pub async fn read_json_file(handle: tauri::AppHandle) -> String {
let resource_path = handle
.path_resolver()
.resolve_resource("data/example.json")
.expect("failed to resolve resource");
let file = std::fs::File::open(&resource_path).unwrap();
let lang_de: serde_json::Value = serde_json::from_reader(file).unwrap();
return lang_de.to_string();
}
在前端中调用这个函数:
try {
const jsonContent: any = await invoke('read_json_file')
const data = JSON.parse(jsonContent)
console.log('json data:', data)
} catch (error) {
console.error('Error reading JSON file:', error)
}
读取到的结果: