zx 包提供了围绕 child_process 的有用包装器,转义参数并提供合理的默认值。

安装

  1. npm i -g zx

使用

脚本需要包含以下文件头:

  1. #!/usr/bin/env zx

为脚本添加执行权限再运行

  1. $ chmod +x ./script.mjs
  2. $ ./script.mjs
  3. # 或者使用这个命令
  4. $ zx ./script.mjs

常用命令

cd 进入目录

  1. cd('/tmp')
  2. // 将输出 /tmp
  3. await $`pwd`

fetch

fetch() 方法是对 node-fetch 包的包装:

  1. let resp = await fetch('http://wttr.in')
  2. if (resp.ok) {
  3. console.log(await resp.text())
  4. }

question

question() 方法是对 readline 包的包装

  1. let username = await question('What is your username? ')
  2. let token = await question('Choose env variable: ', {
  3. choices: Object.keys(process.env)
  4. })

chalk

对于 chalk 包,不需要导入就可以直接用

  1. console.log(chalk.blue('Hello world!'))