在本文中,我們分析了 Shadcn/ui 和 CodeMirror 中以程式設計方式執行 CLI 指令的兩種方法。
您是否想過是否可以以程式設計方式執行 CLI 命令?我們將了解 Shadcn/ui 如何使用 execa 以及 CodeMirror 如何使用 child_process 以程式設計方式執行 CLI。
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 的函數內呼叫。
查看 CodeMirror v6 自述文件以了解此安裝的用途。
設定 CodeMirror 開發環境的第一步是執行以下命令,這在 CodeMirror 的 Readme.md 中提到。
node bin/cm.js install
install 使用 process.argv
來解析Execa 在您的腳本、應用程式或程式庫中執行命令。與 shell 不同,它針對程式使用進行了最佳化。建構在 child_process 核心模組之上。
Shadcn/ui的add指令被發現是execa來安裝套件
查看 Shadcn/ui 儲存庫中 Execa 使用情況的搜尋結果
在 Thinkthroo,我們研究大型開源專案並提供架構指南。我們開發了使用 Tailwind 建構的可重複使用元件,您可以在專案中使用它們。我們提供 Next.js、React 和 Node 開發服務。
與我們預約會面討論您的專案。
https://www.npmjs.com/package/execa
https://nodejs.org/api/child_process.html#child_processexecfilesyncfile-args-options
https://nodejs.org/api/child_process.html#child_processexecfilefile-args-options-callback
https://github.com/codemirror/dev/blob/main/bin/cm.js#L14
https://github.com/codemirror/dev?tab=readme-ov-file#codemirror
https://github.com/search?q=repo:shadcn-ui/ui execa&type=code
以上是Execa 與使用 child_process 以程式設計方式執行 CLI 指令。的詳細內容。更多資訊請關注PHP中文網其他相關文章!