In diesem Artikel analysieren wir zwei Möglichkeiten, CLI-Befehle programmgesteuert auszuführen, die in Shadcn/ui und CodeMirror zu finden sind.
Haben Sie sich jemals gefragt, ob es möglich ist, CLI-Befehle programmgesteuert auszuführen? Wir werden uns ansehen, wie Shadcn/ui execa verwendet und wie CodeMirror child_process verwendet, um CLI programmgesteuert auszuführen.
Es wurde festgestellt, dass CodeMirror eine Node.js-API namens child_process.execFileSync verwendet. Lesen Sie mehr
function run(cmd, args, wd = root, { shell = false } = {}) { return child.execFileSync(cmd, args, {shell, cwd: wd, encoding: "utf8", stdio: ["ignore", "pipe", process.stderr]}) }
Um etwas mehr Kontext bereitzustellen, wird dieser Lauf innerhalb einer Funktion namens „install“ im CodeMirror-Quellcode aufgerufen.
Schauen Sie sich die CodeMirror v6-Readme-Datei an, um zu verstehen, wofür diese Installation gedacht ist.
Einer der ersten Schritte zum Einrichten der Entwicklungsumgebung für CodeMirror besteht darin, den folgenden Befehl auszuführen. Dieser wird in der Readme.md von CodeMirror erwähnt.
node bin/cm.js install
Installation wird mit „process.argv“ analysiert
Execa führt Befehle in Ihrem Skript, Ihrer Anwendung oder Ihrer Bibliothek aus. Im Gegensatz zu Shells ist es für die programmgesteuerte Verwendung optimiert. Aufbauend auf dem Kernmodul child_process.
Es wurde festgestellt, dass der Add-Befehl von Shadcn/ui eine Execa ist, um Pakete zu installieren
Sehen Sie sich diese Suchergebnisse für die Execa-Verwendung im Shadcn/UI-Repository an
Bei Thinkthroo studieren wir große Open-Source-Projekte und stellen Architekturführer zur Verfügung. Wir haben mit Rückenwind wiederverwendbare Komponenten entwickelt, die Sie in Ihrem Projekt nutzen können. Wir bieten Next.js-, React- und Node-Entwicklungsdienste an.
Buchen Sie einen Termin mit uns, um Ihr Projekt zu besprechen.
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
Das obige ist der detaillierte Inhalt vonExeca im Vergleich zur Verwendung von child_process zur programmgesteuerten Ausführung von CLI-Befehlen.. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!