配置文件
Cordis 命令行程序通过配置文件加载所有插件。一个配置文件可能形如这样:
server.yml
- id: ep4fxiqd
name: '@cordisjs/server'
config:
port: 5140
host: 0.0.0.0
- id: g1l31bu5
name: '@cordisjs/server-static'
config:
root: data/public
配置文件包含了一个 Cordis 应用所需的所有插件信息,从单个插件的名称、配置、版本到不同插件的加载顺序和依赖关系。
特别地,在 Cordis 中,框架本身也是一种插件。一个 Cordis 派生框架将会同时提供框架式写法和插件式写法。
文件格式
通常情况下我们使用 YAML 作为配置文件格式。你也可以根据自己的需要选择 JSON 和其他格式。
可变性
配置文件的可变性由以下 3 个方面保证:
- 配置文件本身是否只读
- 启动时是否包含
--immutable
参数 - 配置文件的格式是否为可写格式
如果你使用 JS 或 TS 作为配置文件的格式,这将影响 Loader 对你配置文件的改动。这种情况下我们将视为不可变的配置文件。
基本属性
id
id
是一个字符串,用于标识插件实例。这不是一个必需属性,但如果在缺省的情况下启动命令行,Loader 将会自动补全此属性。
name
name
字段包含了插件的名称。在最常见的情况下,它可以是一个:
- npm 包名
- 基于 npm 包名的子路径导出
- 相对或绝对路径,表示一个本地文件
- 其他协议的请求
在引导程序的场景下,name
字段不仅包含插件名称,还将包含插件的版本信息。
config
config
属性包含了插件的配置项。由于插件可以不需要配置或实现了默认行为,因此这不是一个必需属性。
label
label
属性包含了插件的显示名称。
disabled
disabled
属性将设置插件的禁用状态。