首先脚手架功能比较简单,只是拉取远程的模板项目到本地,再执行npm install

先贴上项目结构,bin目录存放的是我们node执行文件的入口,command目录存放的是现实的命令,目前只实现了“create”命令,template目录存放我们的模板项目,就是我们在执行命令后拉取的项目

第一步就是要说明入口文件smy.js了,入口文件用来注册命令,比较简单

主要就是了解commander类库,这个类库主要是提供用户命令行输入和参数解析

接下来就是create命令文件了,第一张图是使用到的模块,第二张图是导出的函数,也就是命令的执行方法

首先co是一个迭代器模块,搭配co-prompt可以用同步的方式获取用户在命令行的输入,fs-extra是fs的扩展模块,方便我们清理文件夹,以及复制template下的模板项目

这里是一个拉取git项目的实现,把模板项目放到远程git仓库,clone到本地

这里是一个复制脚手架本地template中模板项目的实现,不推荐这种方式,这种方式更新模板就需要更新脚手架

到这里我们就实现了一个脚手架的功能,但是目前这样还不能像vue那样,直接在命令行执行

接下来还有package.json中的“bin”配置,bin中的配置就是说,在命令行执行npm smy命令时,这个命令的执行文件是“bin/smy.js”

最后,我们在本地测试一下,我们可以在项目根目录执行npm link,把“smy”添加到全局npm命令,然后再命令行执行smy出现如下图,就说明我们的脚手架就搭建成功了

如何搭建一个npm脚手架相关推荐

  1. 使用vue3 +vite + typeScript + elementPlus搭建一个项目脚手架

    使用vue3 + vite + elementPlus搭建一个项目脚手架 这篇文章就教大家如何使用vue3+vite+ts+element-plus搭建一个项目,步骤详细,献给不爱看文档的诸位,希望这 ...

  2. SSM整合(搭建一个Web脚手架)

    文章目录 引入Maven依赖 Mybatis配置 Spring SpringMVC 集成三个配置文件 配置WEB Controller例子 SSM基础在这里了 MyBatis笔记(从零到一) Spri ...

  3. 前端工程师: 我用gup4.0搭建一个前端脚手架

    冬至时节, 程序员加油! 本文将会介绍如何使用gulp4来搭建项目脚手架,如果您还在使用gulp3或更老的版本,您也以通过本文的一些思想将之前的项目进行完善,更新.如果gulp不是你们团队的重点,也可 ...

  4. 从0搭建vue3组件库: 如何完整搭建一个前端脚手架?

    脚手架是为了保证各施工过程顺利进行而搭设的工作平台.按搭设的位置分为外脚手架.里脚手架:按材料不同可分为木脚手架.竹脚手架.钢管脚手架:按构造形式分为立杆式脚手架.桥式脚手架.门式脚手架.悬吊式脚手架 ...

  5. springboot项目结构_从零搭建Spring Boot脚手架(1):开篇以及技术选型

    1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎 ...

  6. 从零搭建Spring Boot脚手架:开篇以及技术选型1

    1. 前言 目前Spring Boot已经成为主流的Java Web开发框架,熟练掌握Spring Boot并能够根据业务来定制Spring Boot成为一个Java开发者的必备技巧,但是总是零零碎碎 ...

  7. 前端如何搭建一个成熟的脚手架

    前言 有了之前的基础(前端如何搭建一个简单的脚手架),我们现在可以讲讲一个成熟的脚手架是怎么做了. 这里我们参考vue-cli的源码,基于rollup和typescript一步步搭建.vue-cli作 ...

  8. 从0到1搭建一个自己的cli脚手架

    从0到1搭建一个自己的脚手架 源码地址 什么是脚手架 顾名思义,脚手架就是帮助我们配置一些环境.工具,能够让我们方便的直接开始开发,专注于我们的业务,不用花时间去配置开发环境.例如常见的vue-cli ...

  9. 利用脚手架工具搭建一个新的react项目

    利用脚手架工具搭建一个新的react项目 一,工程架构 1.使用的是create-react-app脚手架工具搭建的工程架构 npm install create-react-app -g全局安装 c ...

  10. 根据vue的脚手架 简单的搭建一个单页面

    根据vue的脚手架 简单的搭建一个单页面 1.首先需要安装npm node.js 自带,所以去安装node.js 就可以了. node中文网址 这里是网址 或者自行百度,网上很好找.另外还需要手动安装 ...

最新文章

  1. Electric shaver and clean: workable when power is low
  2. 关系型数据库(RDBMS)优势
  3. JMS学习一(JMS介绍)
  4. C# CLRInsideOut 托管代码与非托管代码互操作,产生相关调用代码的好工具 C++ 头文件转C# 的好工具...
  5. win10查询计算机ip和用户名和密码,Win10系统查询计算机IP子网掩码和默认网关设置教程...
  6. Pandas处理缺失数据
  7. 计算机系统分析师高级试题及答案,2013年计算机软考系统分析师试题及答案1
  8. cass软件注记的字体类型和字体大小的问题
  9. python小波分解相关
  10. QNX系统开启telnet远程登录
  11. 与Windows更新的抗争-取消Windows系统自动更新
  12. 《从零开始的 RPG 游戏制作教程》第十四期:自制技能
  13. string转map报错
  14. android studio中添加EditText错误的解决方法
  15. Vue 正确理解mounted、beforeUpdate、updated三个钩子函数的关系
  16. 计算机水平考试 初级,计算机水平考试-初级程序员下午试题模拟38
  17. git 基本命令总结
  18. 【归并排序】--递归与非递归实现
  19. 微信小程序个人订单,微信头像用户名信息获取页面
  20. 臀纬痈粕吃种鼗拼舅怂

热门文章

  1. euht网络登录_基于EUHT技术的城轨高速线路车地无线网络解决方案
  2. php元万亿单位转换,万与亿的换算(万元换成亿元换算器)
  3. php 分换算成元,亿元换算成元(亿元换算成元加几个零)
  4. java选课系统代码_ssm+jsp开发java学生信息与选课系统(优化界面)
  5. 简单说明什么是网络的DMZ区域
  6. cgcs2000大地坐标系地图_MapGIS国土空间数据2000大地坐标系转换系统
  7. 如何安装perl模块
  8. 相机焦距、像元大小构造内参矩阵
  9. java堆的特点_java栈的特点是什么?java的堆和栈的优缺点介绍
  10. Excel提升(一)-----如何做经济学人风格的图表