前端喵前端喵
  • 🎹leetcode算法
  • 🌲后台管理项目
  • 🍎八股文
GithHub
  • 🎹leetcode算法
  • 🌲后台管理项目
  • 🍎八股文
GithHub
  • 首页
  • 系统笔记

    • leetcode算法笔记大全
    • 前端八股文笔记大全
    • 后台管理项目0-1搭建笔记
    • 后台管理项目脚手架0-1搭建笔记
  • 技术文章

    • 常见的性能优化手段
    • 如何修改gitignore并删除远程的ignore文件
    • 如何给GitHub项目提交pr
    • 小米android前端面试全流程
    • git操作指南
    • Promise面试题
    • 如何混合使用commonjs和esm
    • 模拟面试项目拷打1
    • 项目综合模拟面试
    • 如何注册和使用域名
    • git commit提交规范
    • Mysql的并发控制实验

后台管理项目脚手架0-1搭建笔记

0 项目介绍

项目地址:https://github.com/namewyf/v-cli

2 Commander命令的使用

新建一个文件夹,命名为v-cli

npm init

形成一个package.json文件

新建一个bin文件夹,然后安装commander插件

option参数的使用

const { program } = require('commander');
program.version('1.0.0');

program.option('-n ', "输出名称")
// 添加一个 -t 或 --type 选项,需要一个参数值
program.option("-t --type <type>", "项目类型")
// 解析命令行参数
program.parse(process.argv);
// 获取所有选项的值
const options = program.opts();
console.log("opts=>", options);

commands参数的使用

program.command("create <app-name>")
    .description("创建一个新项目")
    .action((name) => {
        console.log(`创建项目:${name}`);
    })

// 解析命令行参数
program.parse(process.argv);

3 figlet参数的使用

安装

npm install figlet

回调函数的方式调用

let figlet = require("figlet")

//第一种方式:callback调用
figlet("Hello World", function (err, data) {
    if (err) {
        console.log("Something went wrong...");
        console.dir(err);
        return;
    }
    console.log(data);
});

promise的方式调用

const { log } = require("console");
let { promisify } = require("util")
let asyncfiglet = promisify(require("figlet"))
async function run() {
    try {
        let data = await asyncfiglet("Vue 3")
        console.log(data);
    } catch (err) {
        console.log(err);
    }

}
run()

5 ora和download-git-repo

安装aro和download-git-repo插件

npm install ora
npm install download-git-repo

ora

import ora from 'ora';

const spinner = ora('Loading unicorns').start();

setTimeout(() => {
    spinner.color = 'yellow';//修改颜色
    spinner.text = 'Loading rainbows';//修改名字
    setTimeout(() => {
        spinner.stop();
    }, 1000);
}, 2000);

注意这里是es module语法,ora最新的方式是用es module语法导入

download-git-repo

  1. 这个地方链接后面必须加上#main,否则默认的分值是master
  2. 'Demo1'目录位置必须是之前不存在的
let download = require('download-git-repo')
//这里Demo是
download('direct:https://github.com/namewyf/namewyf.git#main', 'Demo1', { clone: true }, function (err) {
    console.log(err ? err : 'Success')
})

6 完整脚手架实现上

这里我之前安装的ora只能通过es module语法导入,所以这里我重新安装ora插件旧版本,然后通过commonjs语法导入

npm uninstall ora
npm install ora@5.4.1

现在可以用require语法引入了

Last Updated:
Contributors: namewyf
Prev
后台管理项目0-1搭建笔记