前言
- 开发的 app 数据放哪里?
- 我的配置信息应该写到哪个文件?
- 日志又写到哪里?
- 缓存写到哪里?
获取数据目录
Tauri
中 Rust
侧要获取对应的目录需要使用 path_resolver
。
下面是获取数据、配置、日志、缓存目录的示例
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
|
tauri::Builder::default()
.setup(|app| {
let cache_dir = app.handle().path_resolver().app_cache_dir();
let data_dir = app.handle().path_resolver().app_data_dir();
let local_data_dir = app.handle().path_resolver().app_local_data_dir();
let log_dir = app.handle().path_resolver().app_log_dir();
let config_dir = app.handle().path_resolver().app_config_dir();
println!("cache dir: {:?}", cache_dir);
println!("data dir: {:?}", data_dir);
println!("local data dir: {:?}", local_data_dir);
println!("log dir: {:?}", log_dir);
println!("config dir: {:?}", config_dir);
Ok(())
})
.invoke_handler(tauri::generate_handler![greet])
.run(tauri::generate_context!())
.expect("error while running tauri application");
|
输出如下(Mac 平台)
1
2
3
4
5
|
cache dir: Some("/Users/test/Library/Caches/com.tauri.test")
data dir: Some("/Users/test/Library/Application Support/com.tauri.test")
local data dir: Some("/Users/test/Library/Application Support/com.tauri.test")
log dir: Some("/Users/test/Library/Logs/com.tauri.test")
config dir: Some("/Users/test/Library/Application Support/com.tauri.test")
|
不难发现 data dir
和 local data dir
的路径是一样的,使用的时候挑一个顺手的就行。
JS
1
2
3
4
5
6
7
8
9
10
11
12
|
import {appCacheDir,appDataDir, appLocalDataDir,appLogDir,appConfigDir } from '@tauri-apps/api/path';
const cacheDir = await appCacheDir();
const dataDir = await appDataDir();
const localDataDir = await appLocalDataDir();
const logDir = await appLogDir();
const configDir = await appConfigDir();
console.log("cache dir: ", cacheDir);
console.log("data dir: ", dataDir);
console.log("local data dir: ", localDataDir);
console.log("log dir: ", logDir);
console.log("config dir: ", configDir);
|
输出的结果和上面是一样的,这里就不赘述了。
配置 path 访问权限
老规矩,还是要在 tauri.conf.json
中配置 path
的权限
1
2
3
4
5
6
7
8
9
|
{
"tauri": {
"allowlist": {
"path": {
"all": true,
}
}
}
}
|
总结
Tauri
为我们封装了一系列的方法,让我们知道把数据存到哪里,下面是简单的概括
- 数据 app_data_dir
- 缓存 app_cache_dir
- 配置 app_config_dir
- 日志 app_log_dir
参考
path | Tauri Apps