Skip to content

配置文件

配置文件包含了一个 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 属性用于设置插件的禁用状态。