配置文件
配置文件包含了一个 Cordis 应用所需的所有插件信息,从单个插件的名称和配置到不同插件的加载顺序和依赖关系。这一节将介绍配置文件的基本格式和用法。
示例配置
打开模板项目下的 cordis.yml
文件,你会看到这样的内容:
cordis.yml
- id: sc426a
name: '@cordisjs/plugin-timer'
- id: f46sab
name: '@cordisjs/plugin-http'
- id: ikxxis
name: '@cordisjs/plugin-http-socks'
- id: znqu9d
name: '@cordisjs/plugin-server'
config:
port: 6140
- id: biv21g
label: Development
name: cordis/group
config:
- id: 0txz1f
name: '@cordisjs/plugin-hmr'
文件格式
通常情况下我们使用 YAML 书写配置文件。这是一种易于阅读和编辑的文本格式。你也可以根据自己的需要选择 JSON 或其他格式。
动态修改配置
用户可以使用网页控制台或命令行工具添加、删除、配置插件,插件本身也可能在运行时修改自身的配置。能否做到这些操作取决于配置文件是否只读,它由以下 3 个方面决定:
- 配置文件本身不能是只读的
- 配置文件的格式不能是只读格式
- 启动时不能包含
--immutable
参数
如果使用 JavaScript 或 TypeScript 这样的语言书写配置文件,加载器将无法定位并修改源码中的配置,因此这样的文件也会被视为只读的。这正是我们推荐使用 YAML 的原因。
配置单元
配置文件在最顶层是一个数组,其中的每个元素称为一个配置单元。配置单元是一个对象,包含了插件的名称、配置等信息。下面介绍了配置单元的基本属性。
id
- 类型:
string
- 默认值: 随机生成
id
属性用于唯一地标识配置单元。在一个配置文件下,一个 id
只能出现一次。
如果在缺省的情况下启动 Cordis 应用,加载器将会自动补全此属性。
name
- 类型:
string
- 必需属性
name
属性包含了插件的名称。它可以是一个:
- npm 包名
- 基于 npm 包名的 子路径导出
- 相对或绝对路径 (表示一个本地文件)
config
- 类型:
object
config
属性包含了插件的配置。该属性是否必需,取决于插件本身是否存在必需配置。
label
- 类型:
string
- 默认值:
name
label
属性包含了插件的显示名称。
disabled
- 类型:
boolean
- 默认值:
false
disabled
属性用于设置插件的禁用状态。