看了几个方法,先记一点

This commit is contained in:
pqcqaq 2024-04-18 23:00:48 +08:00
parent 1a09596427
commit 15990ef3c9
1 changed files with 53 additions and 0 deletions

53
notes/1-Oak-Cli.md Normal file
View File

@ -0,0 +1,53 @@
# Oak-cli
## 注意
> 这只是一个命令行工具其核心还是依赖于其他包如oak-domain
## 命令行参数
- 路径src/index.ts
- -v
- 显示版本信息来自package.json
- make:domain
- 调用异步方法make
- 调用script目录下的make-app-domain.js脚本
- analyzeEntities
- 这里调用这个方法是为了处理oak-domain下面的entity
- 分析entity信息来自oak-domain/lib/compiler/schemalBuilder
- 分析项目依赖analyzeDepedency
- 这里通过分析依赖,获取到了全部的`通过这个框架搭建的依赖项目generinal businiess`的模块目录并返回一个包名数组为了下面再次解析entity
- 来自oak-domain/lib/compiler/dependencyBuilder
- 再次analyzeEntities这次是分析`当前开发项目`的entity信息
- 调用removeSync方法删除项目目录中建立的oak-app-domain目录
- buildSchema
- 调用这个方法重建oak-app-domain目录
- 这个方法来自oak-domain/lib/compiler/schemalBuilder
- make:locale
- 调用异步方法make
- 调用scripts/make-locale.js脚本
- 调用oak-domain/lib/compiler/localeBuilder下的LocaleBuilder类构造函数传入false表示不不作为lib进行编译
> 什么时候作为lib编译是什么意思
- 得到builder对象执行build命令
- 从进程参数中取得watchconst watch *=* process.argv[2];
- 两次取反表示有东西就为true不管输入什么后传入build命令如果为false表示不对目录进行监视若为true则对目录进行实时监控
- make:dependency
- 调用异步方法make
- 调用scripts/make-dependency.js脚本
- 调用oak-domain/lib/compiler/dependencyBuilder的默认方法传入`watch *=* process.argv[2]`
- `本函数用于构建src/initialize.dev, src/initialize.prod, src/initializeFeatures, src/context/FrontendContext, src/contextBackendContext`
-