cli 开发记录

最近要开发一个 cli,主要作用是方便同事生成前端项目,做了一天半,基本参考的是 vue-cli

cli 要实现的功能:

  • cnpm install zt-cli -g 全局安装,这个就要将你做的 cli 传到 npmjs 上,方便下载安装,具体操作在 npm 发布包 有介绍
  • 命令行执行,用到了 commander, 根据不同的命令执行生成的配置
  • 在命令行中输入项目名,自动生成对应的项目目录
  • git 中下载模板,下载时候有加载效果 用 ora,下载用的是 git-clone
  • 下载完成后,有提示是否修改 package.json 中的 namedescriptionAuthor,后面可能还会有 是PC还是移动端,是 Vue 还是 React之类的,然后根据输入的内容修改 package.json。这个过程有个问题:是在 cmd 的目录中直接生成项目后修改 package.json,还是先临时在 文档目录 中生成一个临时文件,修改后复制过去。vue-cli 采用的后面那种,我用的也是后面一种。问问题我用的是 inquirer,shell 命令用的是 shelljs
  • 下载完成后有提示
  • package.json 中会有一些逻辑要通过代码判断,选用了 consolidatehandlebars 来处理

后面把这块都写出来

原文地址:https://www.cnblogs.com/fws407296762/p/8779159.html