位置: 编程技术 - 正文

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

  • 增值税附加税怎么填
  • 注册税务师考试2023
  • 应收账款和应付账款可以抵消吗
  • 个体户不刻公章违法吗
  • 公司收到劳务发票
  • 外贸公司报关员是干什么的
  • ATM可以存款到对公账户吗?
  • 中小企业现金流量表
  • 什么情况下可要求厂商出品质保证书
  • 所得税汇算清缴退税会计分录怎么做
  • 签订代销合同的人有没有退货权
  • 资金不需要验资,实收资本怎么入账
  • 购入汽车
  • 个人在电商平台购买跨境商品需要缴纳什么税
  • 应税凭证和纳税凭证的区别
  • 税报错了可以更改吗
  • 不同税率的依据
  • 金融业保险业
  • 年度汇算清缴可以作废吗
  • 在建工程和工程物资在资产负债表
  • 17%和6%的票能直接抵扣吗?
  • 报税系统维护费怎么入账
  • windows11播放视频不清晰
  • 房地产资质代理公司排名
  • php字符串函数有哪些
  • ghoststarttrayapp.exe是什么进程 有什么作用 ghoststarttrayapp进程查询
  • rnbrcache.exe是什么意思
  • 佛洛勒斯岛在哪里
  • 企业境外所得税额抵免限额应分国分项计算
  • php优秀代码
  • thinkphp设置伪静态
  • 小规模纳税人免征增值税政策
  • vue父组件如何调用子组件的方法组合式api
  • 电赛2021题目
  • 详解php归并排序数据
  • 发行债券支付的费用要减吗
  • 新建配电房需要哪些手续
  • 物价变动的影响因素
  • 职工教育经费申报表如何填写
  • php的do while语句
  • 节能控制模块
  • 消费税算不算运费
  • 电商会计如何做账
  • 在建工程项目的范围包括
  • 汽车租赁费怎么赋码
  • mysql 随机取出一条
  • mysql proxy问题的解决方法
  • 企业促销费用项目有哪些
  • 防洪费需要计提吗
  • 银行代付工资如何操作
  • 收到返还工会经费大于管理费用
  • 仓库发货打包员工作内容
  • 实物投资需要缴纳增值税吗
  • 小额 无发票
  • 非贸付汇计税基础
  • 毛利体现的是什么
  • 存货期末报表列示
  • 工业企业固定资产投资
  • MySQL中KEY、PRIMARY KEY、UNIQUE KEY、INDEX 的区别
  • linux的安装
  • 电脑出现bootbcd
  • centos7内存占用大
  • 安卓单机手游下载
  • dwm占用内存过高 进程处理
  • win10企业版20h2和1909
  • wind10手机版
  • window10里的ie浏览器
  • win8右侧栏设置
  • node.js教学
  • node.js中的http.response.end方法使用说明
  • node发送邮箱
  • js的模块化可以怎么做
  • javascriptz
  • 安卓中textview
  • 用shell脚本创建用户
  • python标准库参考手册
  • js function函数
  • jQuery+ajax+asp.net获取Json值的方法
  • 关注龙江医保
  • 北京税务局开票系统
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

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

    友情链接: 武汉网站建设