path

路径模块提供了处理文件和目录路径的实用程序。

tauri.conf.json 中的 build.withGlobalTauri 设置为 true 时,可以通过 window.__TAURI__.path 访问此软件包。

API 必须添加到 tauri.conf.json 中的 tauri.allowlist.path 中:


{
  "tauri": {
    "allowlist": {
      "path": {
        "all": true, // 启用所有Path API
      }
    }
  }
}

建议只允许列出您使用的 API,以优化程序包的大小和安全性。

参考

BaseDirectory

重新导出基础目录

变量

delimiter

Const delimiter: ";" | ":"

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

  • ; on Windows
  • : on POSIX

自1.0.0版本起

定义在: path.ts:660

sep

Const sep: "\\" | "/"

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

  • \ on Windows
  • / on POSIX

自1.0.0版本起

定义在: path.ts:651

方法

appCacheDir

appCacheDir(): Promise<string>

返回应用程序缓存文件建议目录的路径。解析为 ${cacheDir}/${bundleIdentifier},其中 bundleIdentifiertauri.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},其中 bundleIdentifiertauri.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},其中 bundleIdentifiertauri.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},其中 bundleIdentifiertauri.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>

返回路径的最后部分。忽略尾部的目录分隔符。

示例


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版本起

参数

名称 类型 描述
path string -
ext? string 从返回路径中删除的可选文件扩展名。

返回值: Promise<string>

cacheDir

cacheDir(): Promise<string>

返回用户缓存目录的路径。

特定平台

  • Linux: 解析为 $XDG_CACHE_HOME or $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 or $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 or $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>

返回路径的目录名。尾部的目录分隔符将被忽略。

示例


import { dirname, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const dir = await dirname(appDataDirPath);

自1.0.0版本起

参数

名称 类型
path 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 or $XDG_DATA_HOME/../bin or $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>

返回路径的扩展名。

示例


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版本起

参数

名称 类型
path string

返回值: Promise<string>

fontDir

fontDir(): Promise<string>

返回用户字体目录的路径。

特定平台

  • Linux: 解析为 $XDG_DATA_HOME/fonts or $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版本起

参数

名称 类型
path string

返回值: Promise<boolean>

join

join(...paths: string[]): Promise<string>

使用特定平台的分隔符将所有给定的路径段连接在一起,然后将得到的路径标准化。

示例


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 or $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>

规范化给定路径,解析"... "和". "段,并解析符号链接。

示例


import { normalize, appDataDir } from '@tauri-apps/api/path';
const appDataDirPath = await appDataDir();
const path = await normalize(appDataDirPath, '..', 'users', 'tauri', 'avatar.png');

自1.0.0版本起

参数

名称 类型
path 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>

将一系列路径或路径段转换为绝对路径。

示例


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>