扫描仓库目录结构,找出 midway 的代码位置。
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
的参数为主。
{
"midway-integration": {
"tsCodeRoot": "src/apis",
"tsBuildRoot": "build/faas"
}
}
- 纯 midway 项目
- midway + 前端(分目录)
- midway + 前端(合目录)
- 纯 midway-faas
- midway-faas + 前端(分目录)
- midway-faas + 前端(合目录)