liusha-cli
v2.1.2
Published
简单的 Vue 脚手架(Vue cli)
Downloads
6
Maintainers
Readme
LiuSha-CLI 脚手架
版本说明:
- 1.0.x 版本安装有问题,已废弃。
- 请使用2.0以上版本
主要更新说明
- 完善说明文档
指令
启动指令
liusha-cli 或 ls-cli 或 ls-vue
其他指令
通过 ls-cli --help 查看
具体指令使用
通过 ls-cli 【command】 --help 查看
目前支持的指令
| 指令/别名 | 描述 | 配置 | |-----------------|------------------|------------------------------------------| | create | 创建项目 | -f(强制覆盖) -src(模版来源) -h(帮助) | |-----------------|------------------|------------------------------------------| | list | 列出模块具体信息 | -tpl(模版支持列表) -i(国际化支持) -conf(配置)| |-----------------|------------------|------------------------------------------| | config | 全局配置管理 | -v(key=value) -k(key) -h(帮助) | |-----------------|------------------|------------------------------------------| | 待更新 | 待更新 | 待更新 | |-----------------|------------------|------------------------------------------|
脚手架功能
- 语言切换
- 安装依赖
- 模版选择(远程或离线)
- 脚手架全局配置
- 安装模式选择(手动或自动)
主要功能实现说明
脚本交互
- inquirer 库
- inquirer 配置提取到 config/inquirer.config.js , 方便语言切换和管理
模版选择设计
- 设计:模板模式
- 模版:目前支持远程(git/gitee) 和离线(local) template 两种方式
- 接口:
- 【远程(git/gitee)】远程模版利用github/gitee 公共库.可进行其他库的扩展
- 【离线(local)】离线模版利用 fs 库进行文件操作
全局配置
- 设计:单例模式
- 原理:利用 conf 库操作
- 配置:默认配置和支持操作控制文件。config/globalConfigCli.js
- 初始化合并策略:初始化时,优先使用用户配置项,再合并默认配置项
- 使用示例:(支持操作:set|get|has|delete|list|clear)
- 增加配置【set】:ls-cli config set -v key=value
- 查看/删除/存在【get/delete/has】:ls-cli config get|delete|has -k key
- 查看所有配置【list】:ls-cli config list 或 ls-cli ls -conf
- 清空配置【clear】:ls-cli config clear
- 查看配置初始化:ls-cli config get -k is_init 若需要初始化默认配置,只需设置 is_init=false
国际化
【说明】目前仅支持中文(zh_cn)和英文(en_us),若需支持其他则需自己扩展
- 设计:单例模式
- 原理:利用CommonJS 动态加载模块,并对模块进行缓存
- 配置:国际化语言配置 langs/index.js
- 使用:(1)必需先注册再使用.默认使用中文(zh_cn.json) (2)语言库通过注册具体语言,进行动态加载. (3)若已注册,不论后续注册多少次,都用首次注册的信息.
- 切换:通过 LS-Cli 脚手架config配置项 current_langs 进行切换
- 切换中文:ls-cli config set -v current_langs=zh_cn
- 切换英文:ls-cli config set -v current_langs=en_us
await 异步请求异常拦截
- 通过 utils/try-catch-await.js 统一拦截
- 对长时间等待的 操作 ,支持 loading 设置
插件机制
- 针对需定制的公共模版,通过插件机制处理.方便管理和扩展
继续完善
- 脚手架命令 help 信息自定义
- 异常监控
- 模版列表从获取仓库 调整为 获取仓库分支,每个分支代表不同的模版
- 完善模版库(利用策略模式,动态注入扩展)
- 扩展其他指令,如 build等
脚手架搭建说明
搭建前提
- 脚手架
- 模版库
搭建流程
- 搭建环境
- 创建脚手架启动命令
- 提供命令行交互,配置模版基础信息
- 通过配置,下载远程模版或通过fs库操作离线模版
- 发布
脚手架工具库
- commander 命令行自定义指令
- inquirer 命令行交互库
- chalk 控制台输出内容样式处理
- download-git-repo 下载远程模版
- cross-spawn 支持跨平台调用系统命令
- ora 控制台 loading 样式
- fs-extra 系统fs模块的扩展,支持Promise
- table 控制台输出表格
- figlet 控制台打印logon
- conf 用于保存脚手架默认配置信息
- axios 服务访问
本地调试及发布
- 调试
- 开发和调试,可通过 npm link 直接在当前环境上验证
- package.json 文件中必需配置 bin 属性,用于设置启动指令
- 移除本机调试验证环境 npm uninstall -g liusha-cli
- 发布
- 登陆:注册npm账户, 并登陆. npm login
- 发布:npm publish
- 撤销发布:npm unpublish 包名@版本号 若需要强制撤销,需加 --force
参考资料
- 脚手架搭建说明: https://juejin.cn/post/6966119324478079007
其他
- 国内仓库:https://gitee.com/YCodeProjects/ls-cli.git 说明:由于访问github异常问题,最新代码无法实时推送。故优先使用国内仓库
- 联系方式:
- 运行情况:亲测好使😋
- 远程模版说明:利用 ls-cli create 创建项目使用远程模版时,请选择Vue2模版【ls-cli-template】
更新记录
【说明】:目前此脚本架只能作为 samples 借鉴,或是简单的项目创建,无法应用到实际项目中。
2.1.2
- 完善说明文档
2.1.1
- 增加 LS-Cli 脚手架配置config
- 优化国际化切换。调整为通过config配置 current_langs 进行切换
- 切换中文:ls-cli config set -v current_langs=zh_cn
- 切换英文:ls-cli config set -v current_langs=en_us
- 完善服务请求超时时间配置。通过config配置 request_timeout 设置超时控制,单位为毫秒
- 请求超时设置(1分钟):ls-cli config set -v request_timeout=60000
2.0.3
- 完善项目基本信息入口文件手动配置
2.0.2
- 支持项目基本信息手动配置。包括:项目名,版本,描述,入口文件,开源许可证等;
- 优化依赖安装和项目目录是否覆盖业务逻辑
2.0.1
- fix:ls-cli 脚手架相关目录无法完全下载问题
- fix:ls-cli 库依赖包无法自动安装问题
2.0.0
- fix:git 库无法访问问题,git库创建成功。
- add:vue2 模版目录已创建完成,vue3 模版目录目前为示例,需完善。
1.0.x
- 此相关版本运行异常,已废弃