路径
path 模块提供用于处理文件和目录路径的实用程序。
当 tauri.conf.json 中的 build.withGlobalTauri 设置为 true 时,也可以通过 window.__TAURI__.path 访问此软件包。
必须将 API 添加到 tauri.conf.json 中的 tauri.allowlist.path
{
"tauri": {
"allowlist": {
"path": {
"all": true, // enable all Path APIs
}
}
}
}
建议仅允许列出你为了获得最佳软件包大小和安全性而使用的 API。
参考
BaseDirectory
重新导出 BaseDirectory
变量
delimiter
Constdelimiter:";"|":"
提供特定于平台的路径段分隔符
;在 Windows 上:在 POSIX 上
自: 1.0.0
在以下位置定义: path.ts:660
sep
Constsep:"\\"|"/"
提供特定于平台的路径段分隔符
\在 Windows 上/在 POSIX 上
自: 1.0.0
在以下位置定义: path.ts:651
函数
appCacheDir
appCacheDir():
Promise<string>
返回建议的应用程序缓存文件目录的路径。解析为 ${cacheDir}/${bundleIdentifier},其中 bundleIdentifier 是在 tauri.conf.json 中配置的值 tauri.bundle.identifier。
示例
import { appCacheDir } from '@tauri-apps/api/path';
const appCacheDirPath = await appCacheDir();
自: 1.2.0
返回: Promise<string>
appConfigDir
appConfigDir():
Promise<string>
返回建议的应用程序配置文件目录的路径。解析为 ${configDir}/${bundleIdentifier},其中 bundleIdentifier 是在 tauri.conf.json 中配置的值 tauri.bundle.identifier。
示例
import { appConfigDir } from '@tauri-apps/api/path';
const appConfigDirPath = await appConfigDir();
自: 1.2.0
返回: Promise<string>
appDataDir
appDataDir():
Promise<string>
返回建议用于应用数据文件的目录的路径。解析为 ${dataDir}/${bundleIdentifier},其中 bundleIdentifier 是在 tauri.conf.json 中配置的 tauri.bundle.identifier 的值。
示例
import { appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
自: 1.2.0
返回: Promise<string>
appDir
appDir():
Promise<string>
返回建议用于应用配置文件的目录的路径。
已弃用
自 1.2.0 起:将在 2.0.0 中移除。请改用 appConfigDir 或 appDataDir。
自: 1.0.0
返回: Promise<string>
appLocalDataDir
appLocalDataDir():
Promise<string>
返回建议用于应用本地数据文件的目录的路径。解析为 ${localDataDir}/${bundleIdentifier},其中 bundleIdentifier 是在 tauri.conf.json 中配置的 tauri.bundle.identifier 的值。
示例
import { appLocalDataDir } from '@tauri-apps/api/path';
const appLocalDataDirPath = await appLocalDataDir();
自: 1.2.0
返回: Promise<string>
appLogDir
appLogDir():
Promise<string>
返回建议用于应用日志文件的目录的路径。
特定于平台
- Linux:解析为
${configDir}/${bundleIdentifier}/logs。 - macOS:解析为
${homeDir}/Library/Logs/{bundleIdentifier} - Windows:解析为
${configDir}/${bundleIdentifier}/logs。
示例
import { appLogDir } from '@tauri-apps/api/path';
const appLogDirPath = await appLogDir();
自: 1.2.0
返回: Promise<string>
audioDir
audioDir():
Promise<string>
返回用户音频目录的路径。
特定于平台
- Linux:解析为
xdg-user-dirs的XDG_MUSIC_DIR。 - macOS:解析为
$HOME/Music。 - Windows:解析为
{FOLDERID_Music}。
示例
import { audioDir } from '@tauri-apps/api/path';
const audioDirPath = await audioDir();
自: 1.0.0
返回: Promise<string>
basename
basename(
path:string,ext?:string):Promise<string>
返回 path 的最后一部分。忽略尾随目录分隔符。
示例
import { basename, resolveResource } from '@tauri-apps/api/path';
const resourcePath = await resolveResource('app.conf');
const base = await basename(resourcePath);
assert(base === 'app.conf');
自: 1.0.0
参数
| 名称 | 类型 | 说明 |
|---|---|---|
路径 | string | - |
ext? | string | 要从返回路径中移除的可选文件扩展名。 |
返回: Promise<string>
cacheDir
cacheDir():
Promise<string>
返回用户缓存目录的路径。
特定于平台
- Linux:解析为
$XDG_CACHE_HOME或$HOME/.cache。 - macOS:解析为
$HOME/Library/Caches。 - Windows:解析为
{FOLDERID_LocalAppData}。
示例
import { cacheDir } from '@tauri-apps/api/path';
const cacheDirPath = await cacheDir();
自: 1.0.0
返回: Promise<string>
configDir
configDir():
Promise<string>
返回用户配置目录的路径。
特定于平台
- Linux:解析为
$XDG_CONFIG_HOME或$HOME/.config。 - macOS:解析为
$HOME/Library/Application Support。 - Windows:解析为
{FOLDERID_RoamingAppData}。
示例
import { configDir } from '@tauri-apps/api/path';
const configDirPath = await configDir();
自: 1.0.0
返回: Promise<string>
dataDir
dataDir():
Promise<string>
返回用户数据目录的路径。
特定于平台
- Linux: 解析为
$XDG_DATA_HOME或$HOME/.local/share。 - macOS:解析为
$HOME/Library/Application Support。 - Windows:解析为
{FOLDERID_RoamingAppData}。
示例
import { dataDir } from '@tauri-apps/api/path';
const dataDirPath = await dataDir();
自: 1.0.0
返回: Promise<string>
desktopDir
desktopDir():
Promise<string>
返回用户桌面目录的路径。
特定于平台
- Linux: 解析为
xdg-user-dirs'XDG_DESKTOP_DIR。 - macOS: 解析为
$HOME/Desktop。 - Windows: 解析为
{FOLDERID_Desktop}。
示例
import { desktopDir } from '@tauri-apps/api/path';
const desktopPath = await desktopDir();
自: 1.0.0
返回: Promise<string>
dirname
dirname(
path:string):Promise<string>
返回 path 的目录名称。忽略尾随目录分隔符。
示例
import { dirname, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const dir = await dirname(appDataDirPath);
自: 1.0.0
参数
| 名称 | 类型 |
|---|---|
路径 | string |
返回: Promise<string>
documentDir
documentDir():
Promise<string>
返回用户文档目录的路径。
示例
import { documentDir } from '@tauri-apps/api/path';
const documentDirPath = await documentDir();
特定于平台
- Linux: 解析为
xdg-user-dirs'XDG_DOCUMENTS_DIR。 - macOS: 解析为
$HOME/Documents。 - Windows: 解析为
{FOLDERID_Documents}。
自: 1.0.0
返回: Promise<string>
downloadDir
downloadDir():
Promise<string>
返回用户下载目录的路径。
特定于平台
- Linux:解析为
xdg-user-dirs的XDG_DOWNLOAD_DIR。 - macOS:解析为
$HOME/Downloads。 - Windows:解析为
{FOLDERID_Downloads}。
示例
import { downloadDir } from '@tauri-apps/api/path';
const downloadDirPath = await downloadDir();
自: 1.0.0
返回: Promise<string>
executableDir
executableDir():
Promise<string>
返回用户可执行目录的路径。
特定于平台
- Linux:解析为
$XDG_BIN_HOME/../bin或$XDG_DATA_HOME/../bin或$HOME/.local/bin。 - macOS:不支持。
- Windows:不支持。
示例
import { executableDir } from '@tauri-apps/api/path';
const executableDirPath = await executableDir();
自: 1.0.0
返回: Promise<string>
extname
extname(
path:string):Promise<string>
返回 path 的扩展名。
示例
import { extname, resolveResource } from '@tauri-apps/api/path';
const resourcePath = await resolveResource('app.conf');
const ext = await extname(resourcePath);
assert(ext === 'conf');
自: 1.0.0
参数
| 名称 | 类型 |
|---|---|
路径 | string |
返回: Promise<string>
fontDir
fontDir():
Promise<string>
返回用户字体目录的路径。
特定于平台
- Linux:解析为
$XDG_DATA_HOME/fonts或$HOME/.local/share/fonts。 - macOS:解析为
$HOME/Library/Fonts。 - Windows:不支持。
示例
import { fontDir } from '@tauri-apps/api/path';
const fontDirPath = await fontDir();
自: 1.0.0
返回: Promise<string>
homeDir
homeDir():
Promise<string>
返回用户主目录的路径。
特定于平台
- Linux:解析为
$HOME。 - macOS:解析为
$HOME。 - Windows:解析为
{FOLDERID_Profile}。
示例
import { homeDir } from '@tauri-apps/api/path';
const homeDirPath = await homeDir();
自: 1.0.0
返回: Promise<string>
isAbsolute
isAbsolute(
path:string):Promise<boolean>
返回路径是否为绝对路径。
示例
import { isAbsolute } from '@tauri-apps/api/path';
assert(await isAbsolute('/home/tauri'));
自: 1.0.0
参数
| 名称 | 类型 |
|---|---|
路径 | string |
返回:Promise<boolean>
join
join(...
paths:string[]):Promise<string>
使用特定于平台的分隔符作为分隔符,将所有给定的 path 片段连接在一起,然后对结果路径进行规范化。
示例
import { join, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await join(appDataDirPath, 'users', 'tauri', 'avatar.png');
自: 1.0.0
参数
| 名称 | 类型 |
|---|---|
...paths | string[] |
返回: Promise<string>
localDataDir
localDataDir():
Promise<string>
返回用户本地数据目录的路径。
特定于平台
- Linux: 解析为
$XDG_DATA_HOME或$HOME/.local/share。 - macOS:解析为
$HOME/Library/Application Support。 - Windows:解析为
{FOLDERID_LocalAppData}。
示例
import { localDataDir } from '@tauri-apps/api/path';
const localDataDirPath = await localDataDir();
自: 1.0.0
返回: Promise<string>
logDir
logDir():
Promise<string>
返回建议的日志目录的路径。
已弃用
自 1.2.0 起:将在 2.0.0 中移除。请改用 appLogDir。
自: 1.0.0
返回: Promise<string>
normalize
normalize(
path:string):Promise<string>
对给定的 path 进行规范化,解析 '..' 和 '.' 片段,并解析符号链接。
示例
import { normalize, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await normalize(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');
自: 1.0.0
参数
| 名称 | 类型 |
|---|---|
路径 | string |
返回: Promise<string>
pictureDir
pictureDir():
Promise<string>
返回用户图片目录的路径。
特定于平台
- Linux:解析为
xdg-user-dirs的XDG_PICTURES_DIR。 - macOS:解析为
$HOME/Pictures。 - Windows:解析为
{FOLDERID_Pictures}。
示例
import { pictureDir } from '@tauri-apps/api/path';
const pictureDirPath = await pictureDir();
自: 1.0.0
返回: Promise<string>
publicDir
publicDir():
Promise<string>
返回用户公共目录的路径。
平台特定
- Linux: 解析为
xdg-user-dirs'XDG_PUBLICSHARE_DIR。 - macOS: 解析为
$HOME/Public。 - Windows: 解析为
{FOLDERID_Public}。
示例
import { publicDir } from '@tauri-apps/api/path';
const publicDirPath = await publicDir();
自: 1.0.0
返回: Promise<string>
resolve
resolve(...
paths:string[]):Promise<string>
将一系列 paths 或 path 段解析为绝对路径。
示例
import { resolve, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await resolve(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');
自: 1.0.0
参数
| 名称 | 类型 |
|---|---|
...paths | string[] |
返回: Promise<string>
resolveResource
resolveResource(
resourcePath:string):Promise<string>
解析资源文件的路径。
示例
import { resolveResource } from '@tauri-apps/api/path';
const resourcePath = await resolveResource('script.sh');
自: 1.0.0
参数
| 名称 | 类型 | 说明 |
|---|---|---|
resourcePath | string | 资源的路径。 必须遵循 tauri.conf.json > tauri > bundle > resources 中定义的语法,即保留子文件夹和父目录组件 (../)。 |
返回: Promise<string>
资源的完整路径。
resourceDir
resourceDir():
Promise<string>
返回应用程序资源目录的路径。要解析资源路径,请参阅 [[resolveResource | resolveResource API]]。
示例
import { resourceDir } from '@tauri-apps/api/path';
const resourceDirPath = await resourceDir();
自: 1.0.0
返回: Promise<string>
runtimeDir
runtimeDir():
Promise<string>
返回用户运行时目录的路径。
平台特定
- Linux: 解析为
$XDG_RUNTIME_DIR。 - macOS:不支持。
- Windows:不支持。
示例
import { runtimeDir } from '@tauri-apps/api/path';
const runtimeDirPath = await runtimeDir();
自: 1.0.0
返回: Promise<string>
templateDir
templateDir():
Promise<string>
返回用户模板目录的路径。
平台特定
- Linux:解析为
xdg-user-dirs的XDG_TEMPLATES_DIR。 - macOS:不支持。
- Windows:解析为
{FOLDERID_Templates}。
示例
import { templateDir } from '@tauri-apps/api/path';
const templateDirPath = await templateDir();
自: 1.0.0
返回: Promise<string>
videoDir
videoDir():
Promise<string>
返回用户视频目录的路径。
特定于平台
- Linux:解析为
xdg-user-dirs的XDG_VIDEOS_DIR。 - macOS:解析为
$HOME/Movies。 - Windows:解析为
{FOLDERID_Videos}。
示例
import { videoDir } from '@tauri-apps/api/path';
const videoDirPath = await videoDir();
自: 1.0.0
返回: Promise<string>