Skip to content

sora.json 配置

sora.json 是 sora CLI 的项目配置文件,定义了代码生成、API 导出等命令所需的路径和引用信息。

文件位置

放在项目根目录下。

完整配置示例

json
{
  "root": "src",
  "dist": "dist",
  "serviceDir": "app/service",
  "serviceNameEnum": "app/service/common/ServiceName#ServiceName",
  "serviceRegister": "app/service/common/ServiceRegister#ServiceRegister.init",
  "handlerDir": "app/handler",
  "workerDir": "app/worker",
  "workerNameEnum": "app/worker/common/WorkerName#WorkerName",
  "workerRegister": "app/worker/common/WorkerRegister#WorkerRegister.init",
  "componentNameEnum": "lib/Com#ComponentName",
  "comClass": "lib/Com#Com",
  "apiDeclarationOutput": "../dist-api/api",
  "docOutput": "../dist-api/doc",
  "configTemplates": [
    { "type": "server", "path": "run/config.template.yml" }
  ]
}

字段说明

基础路径

字段类型说明
rootstring源码根目录(相对于项目根目录)
diststring编译输出目录(相对于项目根目录)

Service 相关

字段类型说明
serviceDirstringService 文件目录(相对于 root)
serviceNameEnumstringService 名称枚举的引用路径
serviceRegisterstringService 注册函数的引用路径
handlerDirstringHandler 文件目录(相对于 root)

Worker 相关

字段类型说明
workerDirstringWorker 文件目录(相对于 root)
workerNameEnumstringWorker 名称枚举的引用路径
workerRegisterstringWorker 注册函数的引用路径

Component 相关

字段类型说明
componentNameEnumstringComponent 名称枚举的引用路径
comClassstringCom 类的引用路径

导出相关

字段类型说明
apiDeclarationOutputstringAPI 声明文件输出目录(相对于 root)
docOutputstringOpenAPI 文档输出目录(相对于 root)

配置模板

字段类型说明
configTemplatesarray配置模板列表

configTemplates 数组中每个元素:

字段类型说明
typestring模板类型标识
pathstring模板文件路径(相对于 root)

引用格式

多个字段使用 路径#导出名 的格式引用代码中的标识符:

app/service/common/ServiceName#ServiceName
│                                │
│  相对于 root 的文件路径          │  导出的标识符名称
│  (不含 .ts 扩展名)              │

例如 serviceNameEnum 的值 app/service/common/ServiceName#ServiceName 表示:

  • 文件:{root}/app/service/common/ServiceName.ts
  • 导出:ServiceName 枚举

各命令依赖的字段

命令依赖字段
generate serviceroot, serviceDir, handlerDir, serviceNameEnum, serviceRegister
generate workerroot, workerDir, workerNameEnum, workerRegister
generate commandroot, workerDir
add componentcomponentNameEnum, comClass
export apiroot, apiDeclarationOutput
export docroot, docOutput
configroot, configTemplates

基于 WTFPL 许可发布