后台管理项目脚手架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
- 这个地方链接后面必须加上#main,否则默认的分值是master
- '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语法引入了