跳至主要内容

路径

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

Const delimiter: ";"| ":"

提供特定于平台的路径段分隔符

  • Windows 上为;
  • POSIX 上为:

: 1.0.0

定义于: path.ts:660

sep

Const sep: "\\"| "/"

提供特定于平台的路径段分隔符

  • 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 中移除。请改用appConfigDirappDataDir

: 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-dirsXDG_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 } from '@tauri-apps/api/path';
const base = await basename('path/to/app.conf');
assert(base === 'app.conf');

: 1.0.0

参数

名称类型描述
路径字符串-
ext?字符串一个可选的文件扩展名,将从返回的路径中移除。

返回: 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-dirsXDG_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 } from '@tauri-apps/api/path';
const dir = await dirname('/path/to/somedir/');
assert(dir === 'somedir');

: 1.0.0

参数

名称类型
路径字符串

返回: Promise<string>

documentDir

documentDir(): Promise<string>

返回用户文档目录的路径。

示例

import { documentDir } from '@tauri-apps/api/path';
const documentDirPath = await documentDir();

特定于平台

  • Linux:解析为xdg-user-dirsXDG_DOCUMENTS_DIR
  • macOS:解析为$HOME/Documents
  • Windows:解析为{FOLDERID_Documents}

: 1.0.0

返回: Promise<string>

downloadDir

downloadDir(): Promise<string>

返回用户下载目录的路径。

特定于平台

  • Linux: 解析为xdg-user-dirsXDG_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 } from '@tauri-apps/api/path';
const ext = await extname('/path/to/file.html');
assert(ext === 'html');

: 1.0.0

参数

名称类型
路径字符串

返回: 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

参数

名称类型
路径字符串

返回值: 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字符串[]

返回: 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

参数

名称类型
路径字符串

返回: Promise<string>

pictureDir

pictureDir(): Promise<string>

返回用户图片目录的路径。

平台特定

  • Linux: 解析为 xdg-user-dirsXDG_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-dirsXDG_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>

将一系列pathspath 段解析为绝对路径。

示例

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字符串[]

返回: 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字符串资源的路径。
必须遵循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-dirsXDG_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-dirsXDG_VIDEOS_DIR
  • macOS: 解析为 $HOME/Movies
  • Windows: 解析为 {FOLDERID_Videos}

示例

import { videoDir } from '@tauri-apps/api/path';
const videoDirPath = await videoDir();

: 1.0.0

返回: Promise<string>