十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

快速上手 zx 脚本引擎指南:用 JavaScript 编写跨平台脚本

快速上手 zx 脚本引擎指南:用 JavaScript 编写跨平台脚本 快速上手 zx 脚本引擎指南用 JavaScript 编写跨平台脚本【免费下载链接】zxA tool for writing better scripts项目地址: https://gitcode.com/GitHub_Trending/zx/zxbash 里的引号嵌套,几行就写崩;在自己机器上跑通的命令,换台 Linux 又不通用。zx 脚本引擎就是为解决这类问题出现的:直接用 JavaScript 编写系统脚本,同一份脚本可以在 Linux、macOS 和 Windows 上运行。 三步跑通你的第一个 zx 脚本安装。在任意项目目录执行一条命令:npm install zx写脚本。新建script.mjs,粘贴以下内容:#!/usr/bin/env zx await $echo Hello, zx! const files await $ls -la console.log(files.stdout)文件首行的#!/usr/bin/env zx声明了该文件由 zx 来执行。运行。赋予执行权限后直接跑,或者用 zx 命令启动:chmod x ./script.mjs ./script.mjszx ./script.mjs以上就是最小的 zx 安装教程,其余安装方式(npx、yarn、Docker 等)见安装文档。⚙️ 一个 $ 函数就能干完的事zx 脚本的核心是$,你在模板字符串里执行系统命令,stdout可以直接接进变量。比如先取当前分支,再传给后面的部署命令,两行就写完。变量拼接时,zx 会自动补全引号和转义。目录名里带空格也不用手动包引号,直接嵌入命令即可。多个互不依赖的任务可以用Promise.all并行执行,总耗时取决于最慢的那个,而不是累加。命令失败时 zx 会直接抛出异常,你用try/catch捕获后,可以拿到退出码和stderr:await Promise.all([ $sleep 1; echo Task 1, $sleep 2; echo Task 2, ]) try { await $invalid-command } catch (p) { console.log(p.exitCode, p.stderr) } 从一个脚本到一套工具链脚本不必止步于包一层命令。你可以在 zx 脚本里引入任意 npm 包,处理 JSON、发 HTTP 请求、操作文件,都能在 npm 生态里找到现成方案。zx 本身还内置了常用工具集:文件操作、命令执行、日志输出等,日常脚本多数情况不用额外装依赖。仓库的examples/目录里也有并行执行、交互输入等现成示例,可以直接参考写法。 latest 与 legacy 版本怎么选latest:主线版本,持续加入新功能和改进,安装命令npm i zxlegacy:兼容旧脚本的旧版本,只做 bug 修复、不新增功能,安装命令npm i zxversion两个版本的详细对比见版本说明。动手试试下次写自动化脚本,试试用 JavaScript,把命令的脏活交给 zx。想读源码的话,可以克隆仓库:git clone https://gitcode.com/GitHub_Trending/zx/zx官方文档TypeScript 支持CLI 说明【免费下载链接】zxA tool for writing better scripts项目地址: https://gitcode.com/GitHub_Trending/zx/zx创作声明:本文部分内容由AI辅助生成(AIGC),仅供参考
返回列表