- 语言切换
- 安装依赖
- 模版选择(远程或离线)
- inquirer 库
- inquirer 配置提取到 config/inquirer.config.js , 方便语言切换和管理
- 设计:模板模式
- 模版:目前支持远程(git/gitee) 和离线(local) template 两种方式
- 接口:【远程(git/gitee)】远程模版利用github/gitee 公共库.可进行其他库的扩展 【离线(local)】离线模版利用 fs 库进行文件操作
- 设计:单例模式
- 原理:利用CommonJS 动态加载模块,并对模块进行缓存
- 配置:国际化语言配置 langs/index.js
- 使用:(1)必需先注册再使用.默认使用中文(zh_cn.json) (2)语言库通过注册具体语言,进行动态加载. (3)若已注册,不论后续注册多少次,都用首次注册的信息.
- 通过 utils/try-catch-await.js 统一拦截
- 对长时间等待的 操作 ,支持 loading 设置
- 针对需定制的公共模版,通过插件机制处理.方便管理和扩展
- 国际化切换
- 脚手架命令 help 信息自定义
- 异常监控
- 添加 config,build,设置,等指令
- 模版列表从获取仓库 -》 获取仓库分支
- 完善模版库
liusha-cli 或 ls-cli 或 ls-vue
通过 liusha-cli --help 查看
- 脚手架
- 模版库
- 搭建环境
- 创建脚手架启动命令
- 提供命令行交互,配置模版基础信息
- 通过配置,下载远程模版
- 发布
- commander 命令行自定义指令
- inquirer 命令行交互库
- chalk 控制台输出内容样式处理
- download-git-repo 下载远程模版
- cross-spawn 支持跨平台调用系统命令
- ora 控制台 loading 样式
- fs-extra 系统fs模块的扩展,支持Promise
- table 控制台输出表格
- figlet 控制台打印logon
- 调试
- 开发和调试并行时,可通过 npm link 直接在当前环境上验证
- package.json 文件中必需配置 bin 属性,用于设置启动指令
- 发布
- 登陆:注册npm账户, 并登陆. npm login
- 发布:npm publish
- git 库无法访问问题,目前先调整为 gitee
- 模版目录目前只是示例,需要建成为自己所需的目录
- liusha-ext-cli 误删除 liusha-cli 临时扩展的一个库,使用时 liusha-cli 需调整为 liusha-ext-cli