Locating midway application locations
npm install @midwayjs/locate
![GitHub tag]()



扫描仓库目录结构,找出 midway 的代码位置。
``ts
import { Locator } from '@midwayjs/locate';
const locator = new Locator();
const result = await locator.run();
console.log(result);
`
- result
- cwd 当前命令执行路径,一般是项目根目录midwayRoot
- midway 项目根目录,根据 package.json 查找tsCodeRoot
- typescript 构建时获取的代码根路径,比如 src/controller/a.ts 和 src/controller/b.ts,tsc 构建时,会在 dist 目录中输出 a.js 和 b.js,这个时候根路径为 src/controllertsConfigFilePath
- tsconfig.json 的路径,从 tsCodeRoot 到 midwayRoot 之间的最接近的 tsconfig 文件tsBuildRoot
- 根据 tsconfig.json,获取到的构建输出的目录integrationProject
- : 是否是一体化项目integrationProjectType
- : 项目类型usingDependencies
- : 使用的依赖,一体化项目会根据 tsCodeRoot 分析使用的依赖(package.json 的子集),其他项目直接读取 package.json 中的依赖usingDependenciesVersion
- : 带版本,同上
可以在 package.json 中传入 tsCodeRoot 和 tsBuildRoot,但是以 run 的参数为主。
`json``
{
"midway-integration": {
"tsCodeRoot": "src/apis",
"tsBuildRoot": "build/faas"
}
}
- [x] 纯 midway 项目
- [x] midway + 前端(分目录)
- [x] midway + 前端(合目录)
- [x] 纯 midway-faas
- [x] midway-faas + 前端(分目录)
- [x] midway-faas + 前端(合目录)