node学习--自定义脚手架(二):使用commander处理指令参数

使用node搭建一个脚手架子 Program-cli文档 项目需求: 实现一个 cli 小工具用于快速创建后端项目。 项目难点: 多工具的集成(根据用户选择的语言去安装不同的代码检测工具jslint or tslint,并实现交互) 多语言配置文件的交互选择 nodejs转typescript 需要用到的相关模块 commander.js,可以自动的解析命令和参数,用于处理用户输入的命令。 download-git-r... 阅读详情

一、使用npm下载commander

二、cli.js中引入commander,并使用commander中的program

三、program.parse()方法,将所有的指令参数(process.argv)传入即可,让他帮我们处理

program.parse(process.argv)

其实,commander已经集成了--help指令,但是,options中的帮助提示太少了,所以,我们就需要自定义了,使用program.option()。例如,假设我们以后要写一个“-f --framwork”的指令参数,用于让用户设置框架,所以我们可以这么写:

program.option("-f --framwork <framwork>","设置框架")

此时,再执行“mycli --help”时,就会有新的指令说明了,如下图:

此时,我们可以试验一下“--framwork”指令,

上图是有报错的,原因是,在执行“-f”命令时,需要写信息,如下图:

这样就没有报错信息了。

自定义脚手架 全局命令行工具创建项目初始化代码文件及目录。 阅读详情

相关推荐

Node CLI 之 Commander.js (1)

Commander.js是node.js命令行界面的完整解决方案

https://shixuebin.gitee.io/hexo-blog/ 723

node命令行开发-commander用法详解-全局命令行开发工具利器

这篇文章主要介绍了commander的用法,帮助大家可以更好的写一个全局命令行。另外如果大家自己去看文档的话,要注意文档中的一些方法和参数已经不存在了,可能是版本更新了但是README还没来得及更新造成的!个人感觉它和yargs的很多功能都很类似,其实它两在npm托管平台上周下载量差不多,大家根据自己的口味自行选择吧!使用示例#!// 运行本地服务program});// 执行项目打包program});// 输出配置参数program});// 代码提交前 代码格式校验。

細水、長流√的专栏 2895

谷歌Gemini模型免费API调用全攻略:从注册到实战(附代码示例)

本文详细介绍了如何免费调用谷歌Gemini模型的API,从注册获取API密钥到实战应用的全过程。内容涵盖环境准备、基础API调用、多模态处理、高级功能及生产环境实践,帮助开发者高效利用Gemini模型进行代码生成和复杂任务处理。附有代码示例,适合AI开发者和技术爱好者。

weixin_29212429的博客 1606

Nodejs 利用Commander写自己的 命令行工具

关注公众号"seeling_GIS",回复『前端视频』,领取前端学习视频资料 前言 在使用Nodejs过程中,有很多包都支持全局安装,然后提供一个命令,然后在命令行我们就可以完成一些任务,像 express, grunt, bower, yeoman, reap, karma, requirejs 等。有时候,我们也需要自己开发这样的命令行工具。 commander.js,可以帮助我们简化命令行...

一路走一路学,总会不落后 5885

STM32F103新手必看:0.96寸OLED屏幕从接线到动态显示全攻略(附IIC避坑指南)

本文为STM32F103新手提供了0.96寸OLED屏幕从硬件接线到软件驱动的完整实战指南。重点解析了IIC通信的时序、设备地址(0x78/0x7A)的常见陷阱,并详细演示了如何实现字符显示与平滑滚动显示等动态效果,帮助开发者快速上手并避开常见调试难题。

stone的博客 556

Kali Linux渗透测试:蚁剑(AntSword)三种安装方法与避坑指南

WebShell管理是渗透测试与网络安全攻防演练中的关键技术环节,它允许安全人员在获得初步访问权限后,对目标系统进行文件管理、命令执行和数据库操作等深度控制。其核心原理是通过在Web服务器上植入特定脚本,建立一条隐蔽的远程管理通道。在实战中,一个高效、稳定的WebShell管理工具能极大提升后渗透阶段的工作效率与成功率。蚁剑(AntSword)作为一款功能强大的国产开源工具,凭借其插件化架构和图形化界面,成为众多安全研究人员的首选。本文将聚焦于如何在渗透测试专用操作系统Kali Linux上部署蚁剑,详细对

weixin_34413103的博客 415

Node.js之commander.js学习笔记

commander.js可以用来写命令行工具。

二木成林 3314

YOLOv13:目标检测的全面攻略与实战指南

本文是关于 YOLOv13 的全攻略文章。先回顾 YOLO 系列发展,点明 YOLOv13 在该系列中的创新地位,阐述其基于 HyperACE、FullPAD 和轻量级卷积替换等技术的独特优势。深入剖析各核心技术原理,通过与其他版本及实际场景对比展现其性能优势。介绍项目结构与使用方式,分享数据增强、锚框优化等实用技巧,并列举安防监控、自动驾驶等领域应用案例。最后总结 YOLOv13 价值,展望目标检测技术未来发展趋势,为读者提供全面的 YOLOv13 学习与实践指导。

邓邓子的博客 3435

commander的使用和npm的介绍

1.commander const commander = require("commander"); // 第三方包 const chalk = require("chalk"); console.log(chalk.green("====参数的解析和commander的简单使用====")); commander.name("node"); // 名字介绍 commander.usage("<path file>"); // 使用方式介绍 commander.version("1.0.

litter_lj的博客 4352

CDR插件开发之CPG插件017 - 在VS2019中实现CPG插件调试(自动写入CPG、自动启动CDR)

在上篇文章中,讲解了图像导出实例:当文档打开后,自动导出当前页面的图像到系统临时文件夹。在代码编写过程中,导出图像路径变量tmpFileName 被修改了很多次,有没有办法实现调试功能,通过控制台打印变量,而不用编译成CPG后再通过消息框来调试?当然是可以的。本篇作为单独篇,以CDR X8版本为例,讲解CPG插件在VS2019中实现调试的具体方法。 工程搭建准备 按照惯例,本篇文章的序号为017,请直接拷贝上一个工程016-export-image(拷贝前最好清理掉 Debug、x64等编译目录..

Zebe 1811

S7-1200 G2移植旧版本S7-1200程序的具体方法示例

S7-1200 G2移植旧版本S7-1200程序的具体方法示例

Robot_PLC_HMI_Automation 1515

用commander.js构建自己的脚手架工具

随着前端技术的发展,工程化逐渐成为了一种趋势。但在实际开发时,搭建项目是一件很繁琐的事情,尤其是在对一个框架的用法还不熟悉的时候。于是很多框架都自带一套脚手架工具,在初始化前端项目的时候就可以不用自己从头搭建,只要在命令行输入初始化命令即可。 那么,如果想自行开发出这样一个命令行工具来初始化自定义项目,该怎么做呢?研究的过程中,偶然间发现了commander.js这个模块,可以帮助命令行工具...

ck_1的博客 8168

从零到精通:BLDC电机驱动电路详解与设计思路

这套电机驱动电路从核心控制器到反馈采集模块,涉及了BLDC电机驱动的方方面面。每一个模块的设计和选择都需要综合考虑系统需求和实际使用环境。在实际应用中,很多细微的设计改进都会显著影响电机的运行性能。

weixin_43199439的博客 3109

Commander基本使用

随着NodeJs的不断发展,对于前端来说要做的东西也就更多,Vue脚手架React脚手架等等等一系列的东西都脱颖而出,进入到人们的视野当中,对于这些脚手架工具来讲也只是停留在应用阶段,从来没有想过脚手架是如何实现的?vue init webpack 项目名称是如何通过这样的命令创建了一个项目,其最重要的模块就是今天要说的Commander。 Commander模块又国外TJ大神所编写 项目地址:Commander Commander基本用法 Commander文档写的很详细,跟着文章详细的学习一

嘿嘿 6127

无限泛化!AI背景文字识别,腾讯文字六宫格

本文介绍了生成大规模文字验证码数据集的方法,通过使用上百种字体和2万+字库,结合随机背景和数十种图像增强技术,生成了2000万+的多样化样本。该方法采用二阶段训练策略,确保模型对字体、形态、形变等具有强泛化能力,可适配腾讯、咸鱼等多种平台的文字验证码识别,包括生僻字和复杂形变情况。生成的模型在多种验证码场景下表现优异,但强调该方法仅用于技术研究,严禁非法用途。

码王吴彦祖的博客 568

win10 跳过U8环境检测的IE WebControls.rar

win10 安装u8的时候 提示IE WebControls 不通过,这个工具可以欺骗u8的检查。 跳过U8环境检测的IE WebControls。提示导入失败后,重新检测通过。

使用Node.js搭建自己的脚手架

使用Node.js搭建自己的脚手架

weixin_48845614的博客 1860

汉书HE8,好用的汇编代码编写工具

汉书HE8,好用的汇编代码编写工具早期编写汇编代码所用功能强大

commander配合node的使用 (实现自定义脚手架。。。更新中....)

使用commander的option时只有–xxx (两个必须一致才能通过.xxx获取) 例如: #!/usr/bin/env node const {program} = require('commander') program.version(require('./package.json').version)//获取package.json的版本号 program.option('--ha <ha>','must input gogo') program.parse(process.a

又一个四季在轮回 816

VB摄像头监控

该VB模块可对摄像头捕获的画面进行录像等,可在创建的窗口进行控制

ssm框架搭建

这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载

node学习--自定义脚手架(三):使用commander新增自定义脚手架指令

【注意】action()方法中的回调函数是真正用来写命令行执行逻辑代码的地方。但是,这一块的代码会越写越多,比如要做命令行的问答交互、文字的颜色区分、下载代码、打印提示信息等等,代码耦合太严重,不便于后期维护,因此,我们在下一章要进行模块拆分。执行mycli create xxx指令,可以打印出参数,说明指令写的没问题。

coding_ch的博客 218

node学习--自定义脚手架(一):创建自定义全局指令

五、在cli.js文件中,写下如下代码,目的是让cli.js中的代码可以正常运行在node环境中。二、在项目中新建bin文件夹,并在bin文件夹下,新建cli.js文件,用于写全局指令逻辑代码。七、接下来处理,自定义指令的参数,如同"npm --help"中的"--help"在根目录下,运行npm init命令,得到package.json文件。六、此时,在命令行中运行自定义指令就可以运行cli.js中的代码了。匹配到指令参数后,接下来就可以做各种对应的逻辑操作了。三、使用npm初始化项目。

coding_ch的博客 418

node.js入门之脚手架

可以使用program中的command方法进行注册注意:command一定要写在parse上面。

weixin_44804827的博客 721

node搭建一个简单的脚手架

新建一个文件夹,文件夹下面创建bin/cli.js使用myclil执行我们的第一个自定义命令可以看到控制台打印了cli.js中的log,说明我们自定义的全局命令生效了提醒在执行mycli时有可能会报错这时我们把集成终端换成bash就可以执行了。cmd和powershall都不行例如:我们需要通过mycli init xxx指令来创建一个项目,这就需要自定义init指令。cli.js。

jieyucx的博客 2860

从零开始使用node.js制作一个脚手架

脚手架是用于生成一个项目的基本结构的工具,它可以帮助我们构建Vue,React等项目的基本结构,让我们不用自己建立项目的结构简便了我们的开发同时也规范了项目的结构.我们创建vue项目时就会使用来创建,这个命令本质上就是帮我们安装一个的包并运行它,这个包就是创建这个项目的脚手架.生成项目的结构一般如下所示,根据选项的不同,生成的项目结构会有一点差异,我这里以Vue3+Ts的项目结构为例.脚手架的功能只有生成项目的基本结构!!!,打包代码等功能都是打包工具提供的不要弄混了.Hi👋,这里是瑞雨溪**->

雨溪的博客 2197

Node自定义Vue脚手架

初始化项目 npm init -y // -y 默认配置 配置 `package.json` "bin": { "mun": "index.js" } // mun 启动名 // index.js 项目入口 配置 项目入口 第一行添加 #!/usr/bin/env node // 在当前电脑内,找到node指令,后续代码就可以被Node 代理执行 将 bin 和环境变量进行链接 npm link // 注意 Mac 用户 需使用 `sudo` 前缀 安装.

mu0nian的博客 791

前端脚手架/CLI工具的深度解析与实战应用

本文深入探讨脚手架工具的原理和应用,并结合理论与实践,详细解读主流脚手架工具的内部机制,帮助开发者系统地掌握构建和使用这些工具的技能,同时提供从零开始创建自己的前端脚手架的全面指导和实战经验。

weixin_51517346的博客 2239

Node 实战: 从无到有创建一个自己专属的 CLI 脚手架

Node 实战: 从无到有创建一个自己专属的 CLI 脚手架 文章目录Node 实战: 从无到有创建一个自己专属的 CLI 脚手架前言正文1. 相关工具介绍1.1 chalk 彩色输出(各种输出样式附加)1.2 commander 启动参数解析1.3 clear 清屏1.4 figlet 文字图形生成1.5 inquirer 交互式提问(配置选项设置)1.6 ora 加载动画(转圈圈)2. 正式开始2.0 脚手架目标 & 主要实现步骤2.1 配置阶段:项目入口2.1.1 package.json 配

超悠閒的博客 514

node 自定义脚手架 简单易懂好上手

nodejs是个非常神奇的东西,同时对我们前端同学来说学习成本低,非常友善,可以使用js来开发后端,同时兼顾前端,实现了语言统一化,这里我不展开说了,主要展开说一下node的脚手架是怎么实现的。前端的同学想必都使用过vue脚手架,一条简单的命令vue init 就可以将一个简单的单页面应用包括webpack的简单配置全部搭建好并且你只用关注开发层面的东西(如果没有什么特殊的要求的话),他的实现原理其实也不难。先上vue脚手架的原理图: 整个vue init大致流程如我上图所示,应该还是比较好理解的。这.

weixin_44083712的博客 1052
上一篇: node学习--自定义脚手架(一):创建自定义全局指令
下一篇: node学习--自定义脚手架(三):使用commander新增自定义脚手架指令
coding_ch
博客等级 码龄5年 8粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值