首頁 >web前端 >js教程 >Execa 與使用 child_process 以程式設計方式執行 CLI 指令。

Execa 與使用 child_process 以程式設計方式執行 CLI 指令。

Linda Hamilton
Linda Hamilton原創
2024-12-01 00:17:12818瀏覽

在本文中,我們分析了 Shadcn/ui 和 CodeMirror 中以程式設計方式執行 CLI 指令的兩種方法。

您是否想過是否可以以程式設計方式執行 CLI 命令?我們將了解 Shadcn/ui 如何使用 execa 以及 CodeMirror 如何使用 child_process 以程式設計方式執行 CLI。

CodeMirror 中子程序的使用

CodeMirror 被發現使用名為 child_process.execFileSync 的 Node.js API。閱讀更多

function run(cmd, args, wd = root, { shell = false } = {}) {
  return child.execFileSync(cmd, args, {shell, cwd: wd, encoding: "utf8", stdio: ["ignore", "pipe", process.stderr]})
}

只是為了提供更多上下文,此運行在 CodeMirror 原始碼中名為 install 的函數內呼叫。

Execa vs using child_process to execute CLI commands programmatically.

查看 CodeMirror v6 自述文件以了解此安裝的用途。

設定 CodeMirror 開發環境的第一步是執行以下命令,這在 CodeMirror 的 Readme.md 中提到。

node bin/cm.js install

install 使用 process.argv

來解析

Execa vs using child_process to execute CLI commands programmatically.

Execa 在 Shadcn/ui 的使用

Execa 在您的腳本、應用程式或程式庫中執行命令。與 shell 不同,它針對程式使用進行了最佳化。建構在 child_process 核心模組之上。

Shadcn/ui的add指令被發現是execa來安裝套件

Execa vs using child_process to execute CLI commands programmatically.

查看 Shadcn/ui 儲存庫中 Execa 使用情況的搜尋結果

Execa vs using child_process to execute CLI commands programmatically.

關於我們:

在 Thinkthroo,我們研究大型開源專案並提供架構指南。我們開發了使用 Tailwind 建構的可重複使用元件,您可以在專案中使用它們。我們提供 Next.js、React 和 Node 開發服務。

與我們預約會面討論您的專案。

Execa vs using child_process to execute CLI commands programmatically.

參考文獻

  1. https://www.npmjs.com/package/execa

  2. https://nodejs.org/api/child_process.html#child_processexecfilesyncfile-args-options

  3. https://nodejs.org/api/child_process.html#child_processexecfilefile-args-options-callback

  4. https://github.com/codemirror/dev/blob/main/bin/cm.js#L14

  5. https://github.com/codemirror/dev?tab=readme-ov-file#codemirror

  6. https://github.com/search?q=repo:shadcn-ui/ui execa&type=code

以上是Execa 與使用 child_process 以程式設計方式執行 CLI 指令。的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn