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

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

比如,我们要创建一个create指令,用来创建新项目,我们就可以这么写:

program.command('create <project> [other...]') // command 用来创建指令 <project>是参数 [other...]是其他的参数
.alias('crt') // alias 用来起别名
.description('创建项目') // description 用来描述作用,会展示在--help的指令中
.action((project,args)=>{  // action 用来写这个指令具体的操作逻辑  回调中的参数是<project> [other...]
    console.log(project)
    console.log(args)
})

这样,我们就自定义了一个create指令,我们可以试一下:

执行mycli create xxx指令,可以打印出参数,说明指令写的没问题。

当然,我们执行-- help指令,能够看到我们新增的create指令,如下图:

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

Node CLI 之 Commander.js (1) Commander.js是node.js命令行界面的完整解决方案 阅读详情

相关推荐

各种AI的调试日记——辅助工作篇

记录使用各种AI(语言大模型)的心得和总结

m0_73056986的博客 1392

Node.js之commander.js学习笔记

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

二木成林 3314

CV领域交叉注意力机制:QKV在图像特征增强中的核心作用解析

本文深入解析了CV领域中交叉注意力机制的核心组件QKV在图像特征增强中的关键作用。通过通俗类比和实战案例,阐述了Q(查询)、K(键)、V(值)如何协同实现动态权重分配,从而在目标检测、图像分割与生成等任务中显著提升模型性能与语义对齐能力。

weixin_29194817的博客 444

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

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

細水、長流√的专栏 2895

如何手动打包Linux(麒麟系统)的Qt程序

Qt在windows上有自带的windeployqt来帮助打包程序,但是对于linux系统来说Qt并没有自带对应的打包程序。尽管存在开源的linuxdeployqt打包程序,但是在使用的过程中会出现很多问题,对于arm架构的系统来说需要编译并修改源码等等。确定你程序所需要的插件,然后将你使用的Qt版本对应的插件复制到plugins里边。你可以根据各个库后面的路径来找到对应的库,并将它们全部复制到之前创建的lib目录下。复制你的可执行程序到bin目录下(将 your_executable。

qq_45903233的博客 3611

网络摄像头(IPC)介绍:类型、供电、镜头、夜视等

IPC(Internet Protocol Camera,网络摄像头),它是一种由传统摄像机与网络技术结合所产生的新一代摄像机。它可以将视频、音频、报警及控制信号通过网络传输,接受网络监控主机(NVR或监控管理平台)的管理。IPC可与路由器、交换机、NVR等设备组建成为监控系统。

学无止境,Fighting! 1万+

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

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

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

【OpenArm|Control】openarm机械臂ROS2仿真控制

openarm_ros2 存储库包含用于 ros2_control 的包集合。 它抽象化了硬件控制,将手臂公开为接收位置、速度和扭矩命令并输出关节状态的接口。 openarm_bringup 包提供了通过包与 ROS2 控制框架集成的启动文件。该软件包提供启动文件和配置,用于启动硬件接口、加载控制器以及将物理臂连接到 ROS2 生态系统。启动后,您可以使用标准 ROS2 控制工具和接口来命令手臂并接收反馈。openarm_bringup bringup 包支持模拟硬件(用于模拟/测试)和通过硬件插件的真实

ai领域探索者,欢迎一起交流,目前从事具身智能行业。 2959

commander入门教程

commander允许你自定义help信息。通过监听--help事件或者重写方法,你可以输出自定义的帮助信息。programconsole.log('这里是自定义的帮助信息。');});// 或者return '自定义的帮助信息内容';commander是一个功能强大的Node.js命令行工具库,它提供了用户命令行输入和参数解析的强大功能。通过本教程,你应该已经掌握了commander的基本用法和高级功能,并能够将其应用于你的Node.js命令行工具的开发中。

1377

第五节 Amesim《直动型溢流阀HCD建模》HCD5 学习资料

利用HCD原则创建直动型溢流阀的界面。这可能包括图形化表示直动型溢流阀的工作原理、操作方式和调节方法。这样的界面应当直观且易于理解,使用户能够轻松了解阀门的功能和使用方法。

m0_58052642的博客 1330

飞牛fnNAS搭建私有云音乐库

本文介绍了在飞牛NAS上部署Navidrome音乐服务器的完整流程。首先创建音乐存储目录并安装Navidrome应用,然后配置管理员账号、语言设置和音乐路径。接着详细说明使用"音乐标签"软件刮削音乐元数据的方法,包括获取软件、导入音乐文件和自动匹配标签。针对远程访问需求,推荐使用ZeroTier实现内网穿透,并给出注册、创建网络及设备加入的具体步骤。最后介绍移动端使用"音流"APP连接Navidrome服务器的配置方法,实现手机端音乐播放。通过这套方案,用户可以搭建专

dgnankai的专栏 1827

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

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

ck_1的博客 8168

js逆向-逆向部分技巧总结

js逆向-逆向部分技巧总结

Deng872347348的博客 2134

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

其实,commander已经集成了--help指令,但是,options中的帮助提示太少了,所以,我们就需要自定义了,使用program.option()。三、program.parse()方法,将所有的指令参数(process.argv)传入即可,让他帮我们处理。二、cli.js中引入commander,并使用commander中的program。此时,我们可以试验一下“--framwork”指令,一、使用npm下载commander。这样就没有报错信息了。

coding_ch的博客 435

IMSL CNL 7.0.0 (x86-64)Crack

IMSL CNL 7.0.0 (x86-64)Crack intel的算法库破解文件,这是C++版本的破解文件

SAP B1中文培訓教材_SDK

公司内部培训资料,对开发工具 ,DIAPI, UIAPI,Add-ON有详细解说

Commander基本使用

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

嘿嘿 6127

VC中sqlite的使用

在VC中对sqlite的使用,实现数据库大批数据的快速插入,读取数据库中的数据在ListCtrl中显示

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

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

weixin_48845614的博客 1860

TMS_WebGMaps_1.9.8.0_Full_Source

TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder

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

使用 commander 定义脚手架命令

【代码】使用 commander 定义脚手架命令。

qq_14820093的博客 654

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

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

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

雨溪的博客 2197

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

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

weixin_51517346的博客 2239

自定义脚手架

dd

qq_50980821的博客 696

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

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

coding_ch的博客 418

node搭建一个简单的脚手架

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

jieyucx的博客 2860

Nodejs自定义脚手架

本文主要讲解了如何自定义脚手架。

CyrusCJA的博客 467

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学习--自定义脚手架(二):使用commander处理指令参数
下一篇: node学习--自定义脚手架(四):逻辑代码模块化拆分
coding_ch
博客等级 码龄5年 8粉丝 12原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

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

抵扣说明:

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

余额充值