手写一款属于自己的脚手架

为什么我们需要一套脚手架,它能帮助我们解决哪些痛点问题。

前端项目越来越多,来回下载繁琐、耗时,重复无意义的工作,不方便管理,所以创建一个自己的脚手架非常有必要。
我们可以把远程仓库的项目通过指令来下载项目,没必要再来回下载项目,而且在远程仓库中更方便管理。

  • 首先我们下载所需依赖
  "dependencies": {
    "commander": "^11.0.0",
    "download-git-repo": "^3.0.2",
    "inquirer": "^8.2.5",
    "ora": "^5.4.1"
  }
  • 在pacckage.json配置bin指令

这个指令是前缀命令,例如 npm 这样的前缀

  "bin": {
    "pear-cli":"./bin/index.js"
  },
  • 创建目录bin下index.js
    在这里插入图片描述
  • 编写代码 首先引入依赖
// 创建命令行指令
const program = require('commander')
// 获取json文件获取版本
const package = require('../package.json');
// 创建命令行交互,提供用户交互收集用户信息
const inquirer = require('inquirer');
// 可以从远程拉取git仓库
const download = require('download-git-repo');
// 创建命令行加载动画
const ora = require('ora')
// 路径
const path = require('path');
  • 创建查看版本指令

提供输入 pear-cli --version 输出版本

//提供输入 pear-cli --version 输出版本
program.version(`@cime/cli  v${package.version}`)
  • 创建所需全局变量

模板可以创建多个

// 提供模板
const templates = [
    {
        // 模板名
        name: "pear-admin-react",
        // git下载地址
        value: 'https://github.com:用户名/仓库名'
    },
]
// loading 加载
const loading = ora('正在下载....')
  • 创建指令获取输入项目名和选择模板下载对应项目

链式调用进行下一步操作

program.command('create')
.description('创建模版') //  设置命令描述 
.action(async () => { // 异步处理函数
        // 创建终端输入框
        // 获取用户输入项目名
        let { name } = await inquirer.prompt({
            type: 'input', // list 列表选择  confirm 选择框
            name: 'name', // 问题名称  
            message: '请输入项目名称:'
        })
           // 获取用户选择模板
        let { template } = await inquirer.prompt({
            type: "list", // 实现选择下载模板
            name: 'template',
            message: '请选择下载的项目:',
            choices: templates
        })
        // 显示loading动画
        loading.start();
        // 项目下载地址
        let dest = path.join(process.cwd(), name)
        download(template, dest, (err) => {
        	// 关闭loading东海
            loading.stop()
            if (err) {
                console.error('下载出错! Error:', err);
            } else {
                console.log('下载成功');
            }
        });
    })

使用方法

  • 将本地文件系统中的一个包链接到项目在这里插入图片描述
  • 现在就可以输入你的创建的指令查看版本下载项目了

输入指令查看版本 pear-cli --version

在这里插入图片描述

  • 输入指令下载远程仓库中的项目

输入指令下载项目 pear-cli create 选择模板下载

在这里插入图片描述

这样我们就手写了一款属于自己的脚手架,方便我们管理使用自己的项目,中间编写代码时可以慢慢调试编写,还有一些依赖版本有兼容性,下载依赖时注意版本。

评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值