首页 >web前端 >js教程 >Execa 与使用 child_process 以编程方式执行 CLI 命令。

Execa 与使用 child_process 以编程方式执行 CLI 命令。

Linda Hamilton
Linda Hamilton原创
2024-12-01 00:17:12857浏览

在本文中,我们分析了 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