• [Tools] Create a Simple CLI Tool in Node.js with CAC


    Command-line tools can help you with all sorts of tasks. This lesson covers the very basics of setting up a CLI tool in Node.js by creating your project with npm, setting up your bin script, and using CAC to parse a single argument.

    Create a new project, change the "name" porp's value to "hi", then add a "bin" prop, so next time, when we invoke "hi", it will run the command in "bin".

    package.json

    {
      "name": "hi",
      "version": "1.0.0",
      "description": "",
      "main": "index.js",
      "scripts": {
        "test": "echo "Error: no test specified" && exit 1"
      },
      "keywords": [],
      "author": "",
      "license": "ISC",
      "bin": "./index.js",
      "devDependencies": {
        "cac": "6.3.12"
      }
    }

    Install:

    npm i -D cac

    Create index.js file:

    • Make sure you have '
      #!/usr/bin/env node
      ' on the top of the file, then it knows should run in node env.
    • Using cac to build commad, you can define 'option', 'command'
    • Last you should always call cli.parse() to run the command
    #!/usr/bin/env node
    
    const cli = require('cac')();
    cli.option('--type <type>', 'Provide type, [date|foo]')
    // name is a required field
    cli.command('<name>', 'Provide your name')
        .action((name, options) => {
            const {type} = options;
            if (type === 'date') {
                console.log(`Hi ${name}, Today is ${new Date().toDateString()}`)
            } else if (type === 'foo') {
                console.log(`Hi ${name}, you should take a rest!`)
            } else {
                console.log(`Hi ${name}, Good job!`)
            }
            
        })
    
    cli.help()
    // Display version number when `-h` or `--help` appears
    cli.version('0.0.0')
    cli.parse()

    Run:

  • 相关阅读:
    Powershell增加ADB命令
    电脑通过ADB截图脚本
    常用Website List
    护眼豆绿色背景RGB
    xshell方便设置
    解决 Xshell6|Xftp6 强制升级
    beyond compare 4.2.9桌面右键集成的问题修复
    Ubuntu中Samba的安装配置和使用
    excel设置保护工作区域
    【转载】学习 Qt 编程的好书推荐
  • 原文地址:https://www.cnblogs.com/Answer1215/p/10220555.html
Copyright © 2020-2023  润新知