跳至主要内容

路径

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, 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-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, 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

参数

名称类型
...pathsstring[]

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

将一系列 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

参数

名称类型
...pathsstring[]

返回: Promise<string>

resolveResource

resolveResource(resourcePath: string): Promise<string>

解析资源文件的路径。

示例

import { resolveResource } from '@tauri-apps/api/path';
const resourcePath = await resolveResource('script.sh');

: 1.0.0

参数

名称类型说明
resourcePathstring资源的路径。
必须遵循 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>