前端创建脚手架-脚手架命令注册和参数解析-3

一、核心思想

使用node自带的process库去读取命令的参数

二、准备

1、查看require("process").argv是什么

const argv = require("process").argv
console.log({ argv })

在这里插入图片描述

2、被引用的mycli-ljy-2里面增加init函数

module.exports = {
  sum(a, b) {
    return a + b
  },
  mul(a, b) {
    return a * b
  },
  init({ option, param }) {
    console.log("执行init流程", option, param);
  }
}

在这里插入图片描述

3、使用软链接让mycli-ljy调用mycli-ljy-2

三、编写mycli-ljy init --name test命令

// 获取全部的参数
const argv = require("process").argv
// 获取 init 位置的参数,既init
const command = argv[2]
// 获取下标为3后面的参数
const options = argv.slice(3)
if (options.length > 1) {
  // console.log(options);
  // console.log(command);
  let [option, params] = options
  option = option.replace("--", "")
  console.log(option, params)
  if (command) {
    if (lib[command]) {
      lib[command]({ option, params })
    } else {
      console.log("无效的命令");
    }
  } else {
    console.log("请输入命令")
  }
}

四、编写mycli-ljy --version或mycli-ljy -V命令

if (command.startsWith("--") || command.startsWith("-")) {
  const globalOption = command.replace(/--|-/g, "")
  // console.log(globalOption)
  if (globalOption === "version" || globalOption === "V") {
    console.log("0.0.1")
  }
}

五、代码地址:

地址:https://github.com/linjyuan/testCli/tree/%E5%89%8D%E7%AB%AF%E5%88%9B%E5%BB%BA%E8%84%9A%E6%89%8B%E6%9E%B6-%E5%88%9B%E5%BB%BA%E8%84%9A%E6%89%8B%E6%9E%B6-3

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值