🔧 手把手教你开发一个自己的cli工具(二)

前言

🔧 手把手教你开发一个自己的cli工具(一)juejin.cn/post/735946...

这里呢,我准备分享一下如何开发自己的cli工具,以及介绍一下cli工具的具体能做哪些事情

生成全局变量

首先在package.json中添加bin

json 复制代码
  "bin": {
    "full-featured-commit": "./bin/index.js"
  },

然后npm link在全局生成软链,这个link软链在window系统可能会有坑,大家自行搜索吧,我这里是macOS,软链npm link应该是不生效的,所以这里可以全局安装路径下的包

sh 复制代码
# 获取到当前项目目录
pwd
# User/xxx/xxx/xxx

#全局安装
npm install -g User/xxx/xxx/xxx

然后在终端运行一下,这样就可以了

编写commander命令

我们先创建一个program,然后编写一下基本的信息,然后运行即可

arduino 复制代码
  program
    .name('🌸 10:30的飞机 🌸')
    .version('🌈 1.4.1', '-v,--version')
    .description('🚀 南宁的朋友')
  program.parse()

然后就是一些基础命令用法这里大家直接去官网看就可以啦www.npmjs.com/package/com...

inquirer

inquirer 是问答交互命令行生成工具,这里大家去官方文档查看即可www.npmjs.com/package/inq...

js 复制代码
import inquirer from 'inquirer'
const prompt = inquirer.createPromptModule()

propt([{
        type: 'confirm',
        name: 'isGit',
        message: 'Are you going to use git in your project?',
        default: true
},
{
        type: 'confirm',
        name: 'isEslintAndPrettier',
        message:'Are you going to use Eslint and Prettier in your project?',
        default: true
}
]).then(res=>{
 console.log(res)
})

chalk

给node.js的命令行添加颜色,使得命令行更加好看,这里照样给大家把地址贴上www.npmjs.com/package/cha...

hirestime

用于计算某个函数从开始到结束所需要的时间www.npmjs.com/package/hir...

figlet

用于在命令行生成艺术字,让我们的终端命令更加好看 www.npmjs.com/package/fig...

发布到npm

首先在npm官网注册一个账号,然后我们就可以发布包了

先用终端打开项目根目录文件,然后查看当前的npm源是否是官网,注意:这里必须是官网,如果不是官方源的话,会出错,所以这里大家都切换到官网源,

arduino 复制代码
npm config get registry

npm  config get registry https://registry.npmjs.org/

然后执行npm login

sh 复制代码
npm login

npm publish

这样之后就能发布在npm上了。完成之后就大功告成了,注意一般最新版本只在官方源能download到,别的源拉取官方源有一定的延时

🔧 手把手教你开发一个自己的cli工具(一)juejin.cn/post/735946...

相关推荐
We་ct28 分钟前
LeetCode 173. 二叉搜索树迭代器:BSTIterator类 实现与解析
前端·算法·leetcode·typescript
weixin_3954489134 分钟前
main.c_0222cursor
c语言·前端·算法
无尽的沉默1 小时前
Thymeleaf 表达式
java·开发语言·前端
无尽的沉默1 小时前
Spring Boot 整合 Thymeleaf 模板引擎
java·前端·spring boot
We་ct1 小时前
从输入URL到页面显示的完整技术流程
前端·edge·edge浏览器
先做个垃圾出来………1 小时前
DeepDiff差异语义化特性
服务器·前端
蓝帆傲亦2 小时前
前端常用可视化图表组件大全
前端
CappuccinoRose2 小时前
HTML语法学习文档(九)
前端·学习·架构·html5
NEXT062 小时前
BFC布局
前端·css·面试
菜鸟小芯3 小时前
【GLM-5 陪练式前端新手入门】第四篇:卡片布局 —— 让个人主页内容更有层次
前端·人工智能