当前位置: 首页 > news >正文

vue-创建自己的CLI脚手架

1.自定义命令和入口配置

首先创建一个文件夹,然后npm init -y生成package.json文件

添加bin命令配置入口文件

新建lib/index.js文件

然后在控制台npm link 建立软连接 、然后执行felix-cli 就可以输出代码

2.查看当前版本号命令

安装 commander

npm i commander

lib/index.js

#!/usr/bin/env nodeconst {program} = require('commander')// 处理--version的操作
const version = require('../package.json').version
program.version(version,'-v --version')// 让commander解析process.argv的参数
program.parse(process.argv)

 

3.增加options选项和封装

新建lib/core/help-options.js文件

 help-options.js

const { program } = require('commander')function helpOptions() {// 1.处理--version的操作const version = require('../../package.json').versionprogram.version(version, '-v --version')// 2.增强其他的options的操作program.option('-w --why', "a why cli program~")program.option('-d --dest <dest>', 'a destination folder, 例如: -d src/components')program.on('--help', () => {console.log("")console.log("others:")console.log("  xxx")console.log("  yyy")})
}module.exports = helpOptions

lib/index.js

#!/usr/bin/env nodeconst {program} = require('commander')const helpOptions = require('./core/help-options')// 1.配置所有的options
helpOptions()// 让commander解析process.argv的参数
program.parse(process.argv)

相关文章:

  • 北京网站建设多少钱?
  • 辽宁网页制作哪家好_网站建设
  • 高端品牌网站建设_汉中网站制作
  • 预测性维护:一种基于因果技术语言处理 (CTLP) 的智能故障诊断方法
  • js、ts、argular、nodejs学习心得
  • 研究人员可以采用什么策略来批判性地评估和综合其领域的不同文献
  • SSL组网的概念,SSL组网方式怎么实现
  • GuLi商城-商品服务-API-平台属性-新增分组与属性关联
  • 透明屏幕的显示原理与特点
  • 吴恩达机器学习-C1W3L2-逻辑回归之S型函数
  • 【c++】爬虫到底违不违法?
  • 美元/日元交易分析与市场展望
  • Django项目为后台admin用户添加密码
  • webstorm配置项目Typescript编译环境
  • Java 9 新特性(JKD9)
  • SetuptoolsDeprecationWarning: setup.py install is deprecated
  • 【初阶数据结构】11.排序(2)
  • 2024年技校云计算实验室建设及云计算实训平台整体解决方案
  • 《剑指offer》分解让复杂问题更简单
  • 【Amaple教程】5. 插件
  • Android开源项目规范总结
  • CentOS从零开始部署Nodejs项目
  • Javascripit类型转换比较那点事儿,双等号(==)
  • React-redux的原理以及使用
  • 从PHP迁移至Golang - 基础篇
  • 计算机常识 - 收藏集 - 掘金
  • 开源地图数据可视化库——mapnik
  • 罗辑思维在全链路压测方面的实践和工作笔记
  • 前端临床手札——文件上传
  • 如何使用 JavaScript 解析 URL
  • 实现菜单下拉伸展折叠效果demo
  • 使用iElevator.js模拟segmentfault的文章标题导航
  • 7行Python代码的人脸识别
  • 函数计算新功能-----支持C#函数
  • 组复制官方翻译九、Group Replication Technical Details
  • ​【数据结构与算法】冒泡排序:简单易懂的排序算法解析
  • ​HTTP与HTTPS:网络通信的安全卫士
  • ​七周四次课(5月9日)iptables filter表案例、iptables nat表应用
  • # SpringBoot 如何让指定的Bean先加载
  • # 移动硬盘误操作制作为启动盘数据恢复问题
  • #define
  • #define与typedef区别
  • (C语言)fgets与fputs函数详解
  • (笔试题)分解质因式
  • (二)Kafka离线安装 - Zookeeper下载及安装
  • (附源码)springboot人体健康检测微信小程序 毕业设计 012142
  • (南京观海微电子)——示波器使用介绍
  • (轉貼) VS2005 快捷键 (初級) (.NET) (Visual Studio)
  • ****Linux下Mysql的安装和配置
  • @Data注解的作用
  • [20180129]bash显示path环境变量.txt
  • [2023年]-hadoop面试真题(一)
  • [24年新算法]NRBO-XGBoost回归+交叉验证基于牛顿拉夫逊优化算法-XGBoost多变量回归预测
  • [ai笔记9] openAI Sora技术文档引用文献汇总
  • [Android View] 可绘制形状 (Shape Xml)
  • [BZOJ4016][FJOI2014]最短路径树问题
  • [C#]使用OpenCvSharp图像滤波中值滤波均值滤波高通滤波双边滤波锐化滤波自定义滤波
  • [C++] 轻熟类和对象