如何开发一个属于自己的前端脚手架工具

在日常工作中经常需要用到脚手架工具来快速搭建项目,例如vue-cli

脚手架的原理是通过一些命令来拉取指定的模板到本地进行开发

接下来我们来实现自己的脚手架工具lanli-cli

首先初始化项目 npm init,如下配置

// package.json
{
  "name": "lanli-cli", // 脚手架发布到npm上的名称
  "version": "1.0.0",// 当前版本号
  "bin": {
    "lanli-cli": "lib/index.js" // 命令
  },
  ...
}

然后新建lib/index.js文件,并将index.js文件设置为可执行文件

#!/usr/bin/env node 

// 头部添加下面的代码 默认文件不能执行,需要使用系统usr/bin/env 下的node环境

/*
 本地测试的话,只需要在当前的package.json的目录下打开命令行工具,运行npm link们就可以将可以将lanli-cli配置成全局的命令,如果出现下面的代码就算成功了

PS C:\my-code\2022\project\lanli-cli>  npm link
C:\Program Files\nodejs\lanli-cli -> C:\Program Files\nodejs\node_modules\lanli-cli\bin\index.js
C:\Program Files\nodejs\node_modules\lanli-cli -> ...
*/

安装以下几个库(记住一定要安装到dependencies下)

commander: 完整的 node.js 命令行解决方案
ora:优雅的终端转轮
inquirer:一组通用的交互式命令行用户界面。
download-git-repo:用来从github/gitlab等代码仓库中下载代码用的
fs-extra:用来代替系统的fs方法。

npm i -S commander ora inquirer download-git-repo fs-extra

主要思路:

1.使用commander来配置命令,例如create/init -g -l等命令

2.使用inquirer来让用户选择从哪下来模板 例如选择版本或者vue/react等

3.开发的过程中会有异步的情况,为了让交互友好,使用ora添加类似loading的提示

4.如果是从git拉取模板,需要使用download-git-repo来从git上拉去代码到本地

5.如果是本地代码,需要使用到fs-extra文件夹拷贝过来。

代码就不一一网上贴了,

开发完成后上传npm就可以了 npm publish

安装

npm i -g lanli-cli

创建项目

lanli create projectname  // 默认从github上拉取
lanli create projectname -g   // 从github上拉取
lanli create projectname -l // 从缓存的模板中拉取
lanli create projectname -n=E:\MyProject\vite  // 从本机E:\MyProject\vite文件下拉取

 查看版本号以及帮助

lanli -V // 查看版本号
lanli -h // 查看命令说明

其中模板vue3使用的是vue3+typescript(vue-class-component)+lanli-ui插件lanli-ui文档icon-default.png?t=M1L8https://slailcp.github.io/lanli-ui/index.html

模板lanli-gulp是html页面,使用gulp将es6语法转成es5

lanli-cli源码

下面是创建项目的gif图:

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值