位置: 编程技术 - 正文

详解如何实现一个简单的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地址)

  • 项目差旅费能计入项目费用吗
  • 实际开票金额和申报金额不符
  • 接受捐赠手续
  • 商品进销差价属于流动资产吗
  • 已知不含税金额和税额怎么求税率
  • 国有资本及权益客观增减因素
  • 用友工资系统参数设置
  • 冲减存货的会计分录
  • 收到的返利需要交增值税么
  • 税务开专票遇到四舍五入
  • 现金支票存根联需要盖章吗?
  • 已经入账的发票能把原始票据退回吗
  • 外贸企业购进货物出口后,应退消费税应当贷记
  • 劳务公司开的专票需要交税吗
  • 营改增后的增值税税目税率表
  • 不动产发票如何开具
  • 无形资产的定义和特征
  • 公司成立之后有人投资怎么做分录?
  • 自己种的苗木开发票要什么手续
  • 企业微信收款怎么提现
  • 当月认证的发票当月一定要入账吗
  • 注销未分配利润怎么处理账务
  • 发票已抵扣未入账
  • 外经证核销办理流程图
  • 鸿蒙负一屏怎么设置
  • 单位给个人报销计入什么科目
  • linux系统中将加密过的密码放到什么文件中
  • 一般计税方法增值税
  • php基本操作
  • php 上传图片
  • 存货损失的账务处理
  • php实现搜索的方式
  • php 返回
  • 基于Selenium的自动化测试平台设计与实现
  • 什么是多模态研究
  • thinkphp跨域
  • php定义方法
  • ps的cc和sp
  • 承包安装工程
  • 去年亏损今年盈利
  • 织梦cms官网
  • 采购原材料凭证是什么
  • 捐赠支出汇算清缴需要调增吗
  • 公司汽车转卖给个人税率
  • 工会经费税务代收是什么意思
  • 公司如何交五险一金
  • 已经认证抵扣的发票,要退回,怎么处理
  • 机票退票手续费可以开发票吗
  • 企业的融资租赁
  • 实收资本增加印花税税目怎么填
  • 农产品计算抵扣税率 最新
  • 应交税费对应的会计科目
  • 摊余成本通俗
  • 数据库日期要加引号吗
  • sqlserver数据库怎么导出
  • mysql5.7.24安装配置教程
  • xp系统找不到搜索功能
  • 邮件远程控制
  • windows8.1的设置在哪
  • mac局域网控制windows
  • mac设置在哪里设置
  • linux下tar.gz、tar、bz2、zip等解压缩、压缩命令小结
  • P2P Networking2.exe - P2P Networking2是什么进程 有什么用
  • win7系统进不了桌面
  • win 10系统怎么查看网络连接
  • node.js开发实战详解
  • js控制鼠标位置
  • 如何在python中运行程序
  • jquery基本语法
  • jquery渐变效果
  • android面试基础知识
  • javascript字符串操作函数
  • js设计模型
  • 对jquery的ajax进行二次封装以及ajax缓存代理组件:AjaxCache详解
  • Python第三方库的常见安装方法有
  • 一般纳税人每月开票金额有限额吗
  • 湖南省税务举报
  • 浙江省网上税务局总分机构变更流程
  • 2021年房产税收新政
  • 大排量车保险多少钱
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设