位置: 编程技术 - 正文

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

  • 留底税额有没有时间
  • 购买财务软件费用入什么科目
  • 必要收益率的取值可以是
  • 转让旧固定资产可以开专票吗
  • 其他权益工具投资科目编码
  • 衍生金融负债是金融负债吗
  • 进项税额转出税率
  • 测试费明细
  • 贷款公司股权转让合法吗
  • 设计服务需要交文化建设费吗
  • 无形资产日常维护支出会计处理
  • 小规模国税怎么报税
  • 住房公积金比例一般是多少
  • 二手房怎么避免一房多卖
  • 预付卡没用完的可以退吗
  • 简易征收可以抵扣进项吗
  • 公司茶水间备的零食该计入什么会计科目核算?
  • 建筑业的税金计税依据
  • 非企业所得税税率
  • 网上勾选认证每月时间要求
  • 客户方流水号是什么
  • 工程款发票备注栏项目名称
  • 货款打多了对方不愿意退款
  • 增值税未抵扣进项税
  • 疏通下水道入什么经络
  • 具备以下条件
  • 上期金额为上年同期报表的本期金额
  • 公司给员工交纳社保
  • 暂估成本后发票怎么入账
  • php 输出
  • 电脑上一键复制是哪个键
  • 计提本月应交的所得税费用
  • 低值易耗品现在还用吗
  • three.js 教程
  • thinkphp6验证器
  • 应纳税额等于啥
  • php使用pdo连接数据库
  • javascript零基础入门书籍
  • ldconfig命令怎么用
  • dedecms更新
  • 企业一般账户开户申请理由
  • 预付和挂账怎么做分录
  • centOS下mysql workbench安装配置教程
  • 旅游费记入什么科目
  • 清算时实收资本需要做收入吗为什么
  • 劳务分包属于人工成本吗
  • 制造费用怎么登账
  • 服装租赁费的税率是多少
  • 支付给个人的佣金没有发票
  • 企业注销时实收资本清算时要作资产处置收益交所得税吗
  • 个人垫付的费用如何向单位报销行政单位
  • 预付账款的账务处理视频教程
  • 企业营业利润率怎么算
  • 交上年企业所得税怎么做会计分录
  • sql取两个时间的间隔天数
  • windows7自带杀毒软件在哪里
  • xp系统如何查看系统配置
  • centos7搜索
  • xp系统如何更新
  • linux操作系统b
  • macos 网速慢
  • 90后的毕业照
  • unity调整地形高度
  • 贝塞尔曲线pr怎么用
  • javascript 代码
  • nodejs 静态页面
  • javascript网页游戏制作教程
  • Android-SQLite商业化数据库操作
  • python爬虫爬取网页数据
  • numpy体会
  • jQuery Ajax Post 回调函数不执行问题的解决方法
  • android电池优化设置
  • jquery 跨域方法
  • android 布局属性大全
  • 综治维稳中心是干啥的啊
  • 医院的电子收据怎么查
  • 国税地税数据共多少
  • 收到发票需要代签吗
  • 税务清查工作总结
  • 长沙房产税如何征收
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设