在平常的工作中,有这样一个场景:
一个包含基础功能的项目,可以作为一套快速开发的标准样本,放到github上分享出来。
每一次要用的时候,git clone拉取一份到本地,进行快速开发。
也可以制作一个脚手架(或者说是npm命令包),比如说create-react-app,我们通过全局安装,在需要新建react项目的地方,直接create-react-app+项目名,即可快速初始化一个项目.
初始化的项目包含了完整的react项目开发的基础内容。
全局安装脚手架(npm会把脚手架加入到全局系统变量中),系统中都能通过命令行调用;
脚手架没有全局安装也没有问题,若在当前目录中安装,使用npx执行当前路径中也能找到的cli,
找不到会自动去下载到当前目录。
整个流程大概是,安装cli,运行脚手架命令,从远程拉取标准的样本,创建初始化模板。
以下是一个简单的cli工具开发流程
1 使用命令行工具 - commander
2 下载远程项目到临时目录
3 复制文件到用户指定目录,完成后移除临时目录
完整代码在这里。代码可直接npm publish到npm库
由于是个demo,没有发布到npm库,只发布到自己的私有库(使用sinopia创建)作为示例。