前言:
Google 於2021年五月新開源的專案,短短半年間在 GitHub 上就獲得超過 24k 顆星。也是 2021年最熱門的 JS 專案,參考自:2021 JavaScript Rising Stars
先來看一下官方是怎麼介紹 zx 工具的:
A tool for writing better scripts
Bash is great, but when it comes to writing scripts, people usually choose a more convenient programming language. JavaScript is a perfect choice, but standard Node.js library requires additional hassle before using. Thezx
package provides useful wrappers aroundchild_process
, escapes arguments and gives sensible defaults.
zx tool 簡介:使用 JavaScript 的方式去寫 Shell Scripts,天呀,JavaScript 真的是無所不在了,前端、後端、跨平台、寫 Shell Scripts 通通都行,如果你想要用 TypeScript 來寫當然也是可以的。
- 2021/5 開源
- GitHub:https://github.com/google/zx
- Requirement Node.js >= 14.13.1
不過其實 zx tool 也不是第一個提出用 JS 寫 shell scripts 的專案,類似的 Node.js 套件目前至少就有:
- 由 Heroku 開源的
oclif
套件 (目前我是用這一套)
zx 相較於其他工具,給我的初步的印象是前置作業更少,寫起來更輕鬆。
zx 的 Hashbang
Hashbang (又稱 Shebang) 是一個由井號
#
和驚嘆號 !
構成的字元序列,作為 Scripting language 的第一行,其用途就是用來指出你這個文件中的程式碼預期要用什麽直譯器指令去運行它。像是以前在寫 Shell Scripts 開頭會使用
sh
, 而 zx 的 Hashbang 則是#!/usr/bin/env zx
- 備註:常見的 Hashbang
zx 常用的 Utility Functions
cd()
Changes the current working directory.
fetch()
A wrapper around the node-fetch package.
- Fetch API 在 Node.js 的實作套件,讓我們可以發出 HTTP 請求。
question()
A wrapper around the readline package.
sleep()
A wrapper around the
setTimeout
function.await sleep(1000)
Loading Comments...