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 许可发布