在本文中,我们分析了 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中文网其他相关文章!