扫一扫分享
大家都知道Bash很好用,但是在编写脚本时,人们通常会选择一种更方便的编程语言,比如JavaScript,但是Node.js库在使用之前还需要许多额外的操作,整体来说还是不够方便,最近谷歌开源了一个能够帮助开发者快速编写脚本的工具ZX,ZX能很好的帮我们解决此类问题。
如果你对一些 linux 或者 window 等平台的命令行比较熟悉,并且会一些 JavaScript 的语法,那么使用这个工具就可以得心应手。比如作为一个前端开发者,我想要使用命令行新建一个前端的项目并且运行它,我们可以这么做。
从 node.js 官网下载版本大于等于 14.8.0 版本
因为 node.js 自带 npm 包管理工具,可以使用 npm 指令进行 zx 的安装:
// 全局安装 zx
npm install -g zx
因为要创建一个前端 vue 项目,我们需要安装 vue-cli 脚手架工具:
npm install -g vue-cli
我们需要书写一个 .mjs 文件。
createVueApp.mjs
#!/usr/bin/env zx
await $`vue create vue-demo`
await $`cd vue-demo`
await $`npm run dev`
通过 zx 工具运行文件,执行脚本
zx createVueApp.mjs
可以看出,它会自动执行文件里面的脚本,对于一些比较固定的指令,我们可以把它写在文件里面,下次要是有类似操作,只需要跑一下脚本即可。
项目提供了还多工具
$`指令`
// 创建一个文件
let name = 'test'
await $`mkdir ${name}`
// 进行一些 git 指令的操作
let flags = [
'--oneline',
'--decorate',
'--color',
]
await $`git log ${flags}`
// 程序要异常退出
try {
await $`exit 1`
} catch (p) {
console.log(`Exit code: ${p.exitCode}`)
console.log(`Error: ${p.stderr}`)
}
// 函数
cd()
//切换到 /tmp
cd('/tmp')
await $`pwd`
fetch()
// 请求资源
let resp = await fetch('https://www.baidu.com')
if (resp.ok) {
console.log(await resp.text())
}
...
手机预览