tauri 应用相关文件夹
path
模块:
import { path } from '@tauri-apps/api';
// 或者直接导入需要的函数
import { join, appConfigDir, BaseDirectory } from '@tauri-apps/api/path';// 使用示例
const configPath = await appConfigDir();
const fullPath = await join(configPath, 'settings.json');
appConfigDir
和 BaseDirectory
都是 Tauri API 中路径处理相关的重要概念,它们都属于 @tauri-apps/api/path
模块的一部分。
BaseDirectory
BaseDirectory
主要用于跨平台的文件和目录路径处理。
主要特点:
- 提供了统一的方式来引用不同平台上的标准目录
- 解决了不同操作系统间文件路径差异的问题
- 常用于文件系统操作的上下文参数
appConfigDir()
appConfigDir()
是一个函数,用于获取应用程序的配置目录路径。
主要特点:
- 返回一个 Promise
,解析为应用配置目录的绝对路径
- 路径格式为
${configDir}/${bundleIdentifier}
,其中bundleIdentifier
是tauri.conf.json
中配置的identifier
值 - 该目录专为存储应用程序的配置文件而设计,适合存放用户配置、设置等
平台特定路径:
- Windows: 通常解析为
C:\Users\{用户名}\AppData\Roaming\{bundleIdentifier}
- macOS: 通常解析为
/Users/{用户名}/Library/Application Support/{bundleIdentifier}
- Linux: 通常解析为
/home/{用户名}/.config/{bundleIdentifier}
使用场景对比
BaseDirectory
和 appConfigDir()
经常一起使用,但它们的作用不同:
appConfigDir()
直接返回一个特定目录的路径字符串,您可以直接使用这个路径BaseDirectory.AppConfig
作为一个枚举值,通常作为文件系统API的参数,指定操作应该在哪个基础目录下进行
import { appConfigDir, BaseDirectory, join } from '@tauri-apps/api/path';
import { mkdir, writeTextFile } from '@tauri-apps/plugin-fs';// 方法1: 直接使用appConfigDir获取路径
const configPath = await appConfigDir();
const settingsPath = await join(configPath, 'settings.json');
await writeTextFile(settingsPath, '{"theme": "dark"}');// 方法2: 使用BaseDirectory.AppConfig作为参数
await mkdir('data', { baseDir: BaseDirectory.AppConfig });
await writeTextFile('data/user.json', '{"id": 1}', { baseDir: BaseDirectory.AppConfig });
这两个API非常适合用于管理应用的配置数据和持久化存储,确保您的应用在不同操作系统上都能正确处理文件路径。