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}
,其中 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
>
返回路径的最后部分。忽略尾部的目录分隔符。
示例
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
>