Tauri Command

2024-02-05 16:40 更新

生成子進程的入口點。 它發(fā)出 ?close? 和 ?error? 事件。

import { Command } from '@tauri-apps/api/shell';
const command = new Command('node');
command.on('close', data => {
console.log(`command finished with code ${data.code} and signal ${data.signal}`)
});
command.on('error', error => console.error(`command error: "${error}"`));
command.stdout.on('data', line => console.log(`command stdout: "${line}"`));
command.stderr.on('data', line => console.log(`command stderr: "${line}"`));

const child = await command.spawn();
console.log('pid:', child.pid);

Since: 1.1.0

等級制度

  • EventEmitter< |"close" "error">
    • Command

構造 函數(shù)

?constructor?

new Command(: , : | [], : SpawnOptions): Commandprogramstringargs?stringstringoptions?

創(chuàng)建一個新實例。?Command?

參數(shù)

名字 類型 默認值 描述
program string undefined 要執(zhí)行的程序名稱。
必須在 上配置它。tauri.conf.json > tauri > allowlist > shell > scope
args string | string[] [] 程序參數(shù)。
options? SpawnOptions undefined 生成選項。

Overrides: EventEmitter.constructor

Defined in: shell.ts:413

性能

?stderr?
Readonly stderrEventEmitter<"data">

的事件發(fā)射器。發(fā)出事件。stderrdata

Defined in: shell.ts:403

?stdout?
Readonly stdoutEventEmitter<"data">

的事件發(fā)射器。發(fā)出事件。stdoutdata

Defined in: shell.ts:401

方法

?addListener?

addListener(: | , : ): CommandeventName"error""close"listenerfn

的別名。emitter.on(eventName, listener)

Since: 1.1.0

參數(shù)

名字 類型
eventName "error" | "close"
listener (...:argsany[]) => void

Returns: Command

?execute??
execute():Promise<ChildProcess>

將命令作為子進程執(zhí)行,等待其完成并收集其所有輸出。

import { Command } from '@tauri-apps/api/shell';
const output = await new Command('echo', 'message').execute();
assert(output.code === 0);
assert(output.signal === null);
assert(output.stdout === 'message');
assert(output.stderr === '');

Returns: Promise<ChildProcess>

對子進程輸出的 promise 解析。

?listenerCount??

listenerCount(: | ): eventName"error""close"number

返回偵聽名為 的事件的偵聽器數(shù)。eventName

Since: 1.1.0

參數(shù)

名字類型
eventName"error" | "close"

Returns: number

?off?

off(: | , : ): CommandeventName"error""close"listenerfn

從事件 eventName 的偵聽器數(shù)組中刪除所有指定的偵聽器 返回對 的引用,以便可以鏈接調用。EventEmitter

Since: 1.1.0

參數(shù)

名字類型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

?on?

on(: | , : ): CommandeventName"error""close"listenerfn

將函數(shù)添加到偵聽器數(shù)組的末尾,以便 名為 的事件。不進行任何檢查以查看是否具有 已添加。多個調用傳遞相同的組合 和 將導致被添加和調用多個 次。listenereventNamelistenereventNamelistenerlistener返回對 的引用,以便可以鏈接調用。EventEmitter

Since: 1.0.0

參數(shù)

名字類型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

?once?

once(: | , : ): CommandeventName"error""close"listenerfn

為名為 的事件添加一次性函數(shù)。這 下次觸發(fā)時,將刪除此偵聽器,然后調用。listenereventNameeventName

返回對 的引用,以便可以鏈接調用。EventEmitter

Since: 1.1.0

參數(shù)

名字類型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

?prependListener?

prependListener(: | , : ): CommandeventName"error""close"listenerfn

將函數(shù)添加到偵聽器數(shù)組的開頭,以便 名為 的事件。不進行任何檢查以查看是否具有 已添加。多個調用傳遞相同的組合 和 將導致被添加和調用多個 次。listenereventNamelistenereventNamelistenerlistener

返回對 的引用,以便可以鏈接調用。EventEmitter

Since: 1.1.0

參數(shù)

名字類型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

?prependOnceListener?

prependOnceListener(: | , : ): CommandeventName"error""close"listenerfn

為偵聽器數(shù)組開頭命名的事件添加一次性函數(shù)。下次被觸發(fā)時,這個 偵聽器被刪除,然后被調用。listenereventNameeventName

返回對 的引用,以便可以鏈接調用。EventEmitter

Since: 1.1.0

參數(shù)

名字類型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

刪除所有偵聽器或指定 eventName 的偵聽器。

返回對 的引用,以便可以鏈接調用。EventEmitter

參數(shù)

名字類型
event?"error" | "close"

Returns: Command

?removeListener?

removeListener(: | , : ): CommandeventName"error""close"listenerfn

的別名。emitter.off(eventName, listener)Returns: Command

Since: 1.1.0

參數(shù)

名字類型
eventName"error" | "close"
listener(...:argsany[]) => void

Returns: Command

?spawn?

spawn(): Promise<Child>

將命令作為子進程執(zhí)行,并向其返回句柄。

Returns: Promise<Child>

解析到子進程句柄的承諾。

?sidecar?

Static sidecar(: , : | [], : SpawnOptions): Commandprogramstringargs?stringstringoptions?

創(chuàng)建一個命令來執(zhí)行給定的 sidecar 程序。

import { Command } from '@tauri-apps/api/shell';
const command = Command.sidecar('my-sidecar');
const output = await command.execute();

參數(shù)

名字類型默認值描述
programstringundefined要執(zhí)行的程序。
必須在 上配置它。tauri.conf.json > tauri > allowlist > shell > scope
argsstring | string[][]-
options?SpawnOptionsundefined-

Returns: Command


以上內容是否對您有幫助:
在線筆記
App下載
App下載

掃描二維碼

下載編程獅App

公眾號
微信公眾號

編程獅公眾號