位置: 编程技术 - 正文

详解如何实现一个简单的Node.js脚手架(如何实现仁)

编辑:rootadmin

推荐整理分享详解如何实现一个简单的Node.js脚手架(如何实现仁),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:如何实现1px,怎样才能实现仁呢,如何才能够实现“仁”,如何实现1px,如何实现是什么意思,如何实现1px,如何实现仁300字,如何实现仁300字,内容如对您有帮助,希望把文章链接给更多的朋友!

原因

在工作中,需要开发一个脚手架,用于给相关用户提供相关的开发便利性。

适合人群

对前端、Node操作有一定的了解,同时向了解脚手架开发过程或者需要自己实现一个脚手架的开发者。

目标

开发一个简单的脚手架,能够提供给用户进行安装。 能够输出相关提示。 对用户文件进行读写操作。 在脚手架中使用Shell脚本。

步骤

开发脚手架

脚手架的开发最开始过程与普通的前端项目相同,需要一个入口文件command.js和配置文件package.json。

与其他配置文件不同的是,需要在package.json文件中加上一下一项:

在配置文件中增加了此项后,只需要在配置文件根目录下执行npm link命令,即可使用cm-cli --help命令来查看加载的cm-cli脚手架。

如果你发布了你的脚手架,那么在其他用户使用命令npm install -g cm-cli之后,便可以在全局下使用你的脚手架了。

对用户进行提示

在对注释和命令进行提示中,我们需要使用到commander包,使用npm install commander即可进行安装。(如果NPM版本低于5,则需要添加--save参数保证更新package.json配置文件)。

commander是一个提供用户命令行输入和参数解析的强大功能。有需要的可以阅读相关的库文档。在这里我介绍两个用的最多的方法。

option

能够初始化自定义的参数对象,设置关键字和描述,同时还可以设置读取用户输入的参数。具体用法如下:

具体展示如下:

详解如何实现一个简单的Node.js脚手架(如何实现仁)

command

该方法能够在命令行增加一个命令。用户在执行此命令后,能够执行回调中的逻辑。具体用法如下:

具体展示效果如下:

对用户文件进行读写操作

通过上面的步骤,我们已经能够完成一个简单的脚手架了。下面,我们需要读取用户配置,同时为用户生成一些模板文件。

读取文件

现在,我们需要读取用户的cm-cli.json配置文件来进行一些配置。

我们可以使用Node.js的fs文件模块来对文件进度读操作,由于此处没有太多难点,因此略去。

写入文件模板

我们提前将模板文件存储在CDN上,再根据本地读取到的相关脚手架配置文件来进行模板的下载。

注:脚手架中读取的路径为使用者使用时当前路径,因此没有办法将模板文件存储在脚手架中进行读取。

我们可以使用诸如request这种库来帮助我们进行文件下载,简化操作步骤。执行npm install request`即可进行安装。

注:在文件写入时建议先判断文件是否存在,再进行覆盖。

使用Shell脚本

与Node.js提供的API函数来看,有些人更加倾向于使用Shell脚本来进行文件操作。幸运的是,我们也可以在我们的脚手架中引入node-cmd来启用对Shell脚本的支持。执行npm install node-cmd即可进行安装。

具体示例如下:

我们可以快速的使用Shell脚本来进行文件夹的创建和文件模板的下载。

总结

脚手架想要在终端能够快速执行,可以在package.json配置文件中增加相关字段。

脚手架需要能够读取相关终端输入,可以使用commander库来快速开发。

脚手架需要能够执行Shell脚本,可以使用node-cmd库来快速实现需求。

标签: 如何实现仁

本文链接地址:https://www.jiuchutong.com/biancheng/370623.html 转载请保留说明!

上一篇:windows下更新npm和node的方法(windows升级node版本)

下一篇:node.js下LDAP查询实例分享(nodejs获取客户端ip地址)

  • 一般纳税人增值税怎么做账务处理
  • 个人所得税计提和发放分录
  • 实际已缴纳所得税额不自动带出
  • 增值税普票可以开给个人吗
  • 形式发票需要签字盖章吗
  • 人力资源公司可以接保安业务吗
  • 境内公司没有收购的股票
  • 税控服务费减免税款分录
  • 淘宝买货没有发票
  • 房屋租赁和服务费发票的区别
  • 什么合同不需要做结算
  • 可以不用附原始凭证的记账凭证是
  • 销售自己使用过的物品免税吗
  • 个人转让商铺个人所得税核定征收
  • 机械租赁有哪些岗位
  • 库存商品期末要结转吗
  • 增资印花税如何申报缴纳
  • 增值税的税负率的计算公式
  • 垃圾填埋沼气发电招聘
  • 招待费多少
  • 商品折扣与折让属于销售费用吗
  • 原材料质量问题退回
  • 本年利润的借贷双方表示什么
  • 政府返还的资金如何处理
  • mac安装windows不能用键盘
  • 鸿蒙系统大文件夹怎么调节大小
  • 远程桌面连接的用户名和密码在哪里看
  • 异常发票怎么处理
  • windows11入门
  • 公司过户费用怎么入账
  • win10蓝牙无法连接,有解决方法吗
  • 隐藏在草丛里
  • Asian elephants in West Bengal, India (© Avijan Saha/Minden Pictures)
  • 天然气票据
  • thinkphp框架怎么用
  • but all failed
  • php数组变字符串
  • 深度学习部署(十九): CUDA RunTime API YOLOV5后处理cpu解码以及gpu解码
  • metareg命令
  • phpcms文档
  • 增值税普通发票怎么开
  • 购买电脑做什么分录
  • 主营业务收入的t型账户怎么写
  • 其他综合收益影响所得税费用吗
  • 企业哪些支出可以用现金支付
  • 金税盘的服务费
  • 固定资产的入账金额怎么算
  • 消费税和资源税何时计入成本,何时计入费用
  • 去年亏损今年盈利能分红吗
  • 固定资产折旧会计凭证
  • 小规模纳税人的条件
  • 检测费账务处理
  • 高速过路费怎么补交
  • 单位定期存款如遇利率调整,不论调高调低
  • 企业间借贷是否合法2018
  • 期末结账后没有余额的科目
  • 其他应收款如何计提坏账准备
  • 直租业务可以抵房租吗
  • 个体工商户如何注销网上
  • Suse Linux 10中MySql安装与配置步骤
  • sqlserver代理无法启动怎样办
  • mysql 备份和恢复
  • services.exe修改注册表
  • Linux设置jdk环境变量配置
  • centos云服务器
  • windows7调制解调器在在哪里打开
  • 如何将win7系统装进移动硬盘
  • win10系统开机重装教程
  • android游戏开发用什么语言
  • python加密模块
  • html5翻页效果
  • js标志
  • shell脚本的实现
  • python网络爬虫的流程图
  • javascript获取当前文件夹文件数量
  • JQuery解析XML的方法小结
  • [置顶] [Android Studio 权威教程]AS添加第三方库的6种方式(Jar,module,so等)
  • js方法不执行
  • 电子发票查询系统手机查询
  • 陕西省电子税务局官网登录入口网址
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设