Skip to content

useryuyu/cli-creator

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

@概述

  • 每当面试时被问到“有没有写过自己的脚手架”时,是不是尴尬了?
  • 今天送大家一款超级好用的脚手架生成工具cli-creator;
  • 下次记得轻描淡写地告诉面试官:“我也没写过特别多脚手架,不过我们公司几十个脚手架都是我写的工具生成的~”

@源码地址

@使用方式

下载源码

# 码云下载
git clone https://gitee.com/steveouyang/cli-creator.git

# github下载
git clone https://github.com/ouyangsuo/cli-creator.git

安装依赖

cd cli-creator
npm install
  • 安装的最后会报错说某个命令找不到,无需理会,我们后续会注册该命令,也就是我们要造的脚手架了;

配置要生成的脚手架信息

  • 修改工程根目录的project.config.json
{
    // 包名,应与package.json中包名相同,后续如果需要注销脚手架时会用到该包名
    "package": "cli-creator", 
    
    // 想要生成的脚手架名称/命令名称
    "cmdName": "sto",
    
    // 想要生成的默认配置文件信息 该文件会被生成在用户的家目录下
    "rcFile": {
        "name": ".storc",//文件名
        
        // 一些默认信息 后续可以通过sto config set key value的形式去修改
        "default": {
            // 重要!!github账号,用于下载项目的模板代码
            "registry": "ouyangsuo", 
            
            // 一些自定义的其它信息
            "type": "users",
            "author": "steveouyang"
        }
    },
    
    // 重要!!
    // 模板名称是自己github账号下的一个工程(也就是我们要使用的模板代码了)
    // value是该模板的描述信息,给自己看的
    "templates": {
        "mongo-expresser": "express+mongodb服务端代码生成器", //事实存在
        "vue-client": "vue3+vueRouter+vuex+vant移动端项目", //暂时不存在
        "vue-manager": "vue3+vueRouter+vuex+element中后台项目", //暂时不存在
        "vue-uniapp": "vue3+uniapp小程序项目" //暂时不存在
    }
}

编译工程

npm run compile
  • 编译完成后会在src的同级生成dist目录,这是稍后实际运行的代码
  • 同时还会在用户的家目录下生成默认配置存储文件,本例中为.storc
  • 通过sto config get xxx能读取到当前的一些配置信息

注册CMD命令

npm link
  • 在cli-creator下注册则局部有效,否则全局有效

注销CMD命令

  • 将来不想用时可在任意位置输入以下命令予以注销
npm unlink -g <cli-creator或自定义的包名>

@功能清单

根据指定模板创建工程

sto init <模板名称/对应自己在github中的模板仓库名> <项目名称>

# 实例:快速创建生成一个所有模块CRUD接口齐全的服务端工程
sto init mongo-expresser myserver

读写配置信息

sto config set <key> <value>
sto config get <key>

# 实例
sto config set registry steveouyang // 编辑配置
sto config get registry // 查询配置
sto config remove registry // 移除配置

帮助信息

sto
sto -h
sto --help

@运行效果

Video_2022-11-15_054020 00_00_00-00_00_30.gif

The Lanisters Send their Regards

勿忘码农三连哦:star! follow! fork!

🚀🚀🚀 🤪🤪🤪

About

scaffold creator with a config file

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • JavaScript 100.0%