Skip to main content

tauri

@tauri-apps/api / tauri

Module: tauri

Invoke your custom commands.

This package is also accessible with window.__TAURI__.tauri when build.withGlobalTauri in tauri.conf.json is set to true.

Interfaces​

Functions​

convertFileSrc​

convertFileSrc(filePath, protocol?): string

Convert a device file path to an URL that can be loaded by the webview. Note that asset: and https://asset.localhost must be added to tauri.security.csp in tauri.conf.json. Example CSP value: "csp": "default-src 'self'; img-src 'self' asset: https://asset.localhost" to use the asset protocol on image sources.

Additionally, asset must be added to tauri.allowlist.protocol in tauri.conf.json and its access scope must be defined on the assetScope array on the same protocol object.

Example

import { appDir, join } from '@tauri-apps/api/path';
import { convertFileSrc } from '@tauri-apps/api/tauri';
const appDirPath = await appDir();
const filePath = await join(appDir, 'assets/video.mp4');
const assetUrl = convertFileSrc(filePath);

const video = document.getElementById('my-video');
const source = document.createElement('source');
source.type = 'video/mp4';
source.src = assetUrl;
video.appendChild(source);
video.load();

Parameters​

NameTypeDefault valueDescription
filePathstringundefinedThe file path.
protocolstring'asset'The protocol to use. Defaults to asset. You only need to set this when using a custom protocol.

Returns​

string

the URL that can be used as source on the webview.


invoke​

invoke<T>(cmd, args?): Promise<T>

Sends a message to the backend.

Example

import { invoke } from '@tauri-apps/api/tauri';
await invoke('login', { user: 'tauri', password: 'poiwe3h4r5ip3yrhtew9ty' });

Type parameters​

Name
T

Parameters​

NameTypeDescription
cmdstringThe command name.
argsInvokeArgsThe optional arguments to pass to the command.

Returns​

Promise<T>

A promise resolving or rejecting to the backend response.


transformCallback​

transformCallback(callback?, once?): number

Transforms a callback function to a string identifier that can be passed to the backend. The backend uses the identifier to eval() the callback.

Parameters​

NameTypeDefault value
callback?(response: any) => voidundefined
oncebooleanfalse

Returns​

number

A unique identifier associated with the callback function.