引言:iMove cli肩负着落库逻辑代码的重要责任,本文主要介绍本地开发模式下cli的工作。
书接上文,iMove主要由3个包组成:cli、compile-code、core,此外还有一个插件库plugin-store,这个后续文章再出,本文主要讲解cli在开发模式下的工作流程。
cli是基于commander创建的命令行工具,自定义了3个命令选项:-d、-e、-i。
在cli的package.json文件中有一个bin属性,用来设置cli的可执行文件。这个属性告诉 Node.js 包管理器,在安装包时应该将哪个脚本或命令关联到全局环境中,以便用户可以在命令行中直接运行它。比如:
packages/cli/package.json
"bin": {
"imove": "index.js"
}
安装cli之后,可以在命令行通过imove命令执行cli的index.js脚本,并通过输入不同的选项参数走不同的逻辑分支。
imove -d的执行逻辑如下:
以上为imove -d的整体运行逻辑,下文会详细介绍dsl生成代码的具体实现。