shell命令的解释器bash与cli的开发
脚手架cli开发的前期思考和准备工作
1.需求描述
根据命令选择不同的模板,按照指定的参数在指定的路径生成一个样板工程。
2.拆解需求
参数如何输入,结果如何展示?
模板维护在哪里?
怎么获取模板?
如何根据模板个参数生成工程?
3.参数的输入,结果输出
commander.js(传参),inquirer(输入),chalk(输出)
4.模板在哪里维护?
git仓库维护模板
5.如何获取模板?
git clone,使用execa或shell.js调用第三方cli
6.如何生成工程
模板引擎,例如handlebars
有关开发cli的基础知识
1.shell是一种脚本语言,在不同的操作系统有不同的解释器。
2.脚本钩子有pre[script]和post[script]两种,分别可以在调用某脚本之前或之后,调用该脚本。
3.脚本传参使用--语法。
4.shell可以使用prosses.argv获取参数,前两个参数分别是命令执行的运行时和脚本文件路径,且获得的参数以字符串的形式展示,不够智能。
5.node生态的重要缔造正TJ写的commander.js解决了传参麻烦的问题。
6.Inquirer.js可以实现灵活生动的命令行输入交互方式(兼容多平台)。
7.chalk可以实现提升cli对用户的输出提示效果。这个包之所以可以改变cli文字的颜色是因为用了颜色标准ANSI Escape Code,在命令行中有些字符可以代表颜色。
8.cli调用其他第三方的cli可以使用shelljs、execa等包。
使用轮子快速开发脚手架cli
1.plop(轻量级)
2.yeoman-generator(功能强大)
真正的cli的框架
oclif
新一代革命性的脚手架
Schemetics
**粗体** _斜体_ [链接](http://example.com) `代码` - 列表 > 引用
。你还可以使用@
来通知其他用户。