Skip to content

模块配置(依赖声明等)

  • 您可以在模块配置中指定模块所需的NPM依赖Composer依赖,系统在安装时会自动安装这些依赖。
  • 您可以在模块配置中指定模块被禁用时不应被删除的文件,比如此模块覆盖了某个系统核心文件,那么模块被禁用时,禁用程序自动将此核心文件删除时,系统可能会崩溃(虽然系统在安装模块前有自动备份,且在禁用模块时会自动恢复)。
  • 若您的模块需要上架,您可以通过邮件告知我们,模块小版本对 BuildAdmin 版本号的要求,模块与其他模块之间的依赖和互斥关系等。

模块根目录的 config.json 文件

json不支持注释,所以若要复制以下代码时,请一定删除注释代码。

json
{
    // composer 依赖列表
    "require": {
        "nelexa/zip": "^3.3",
        "guzzlehttp/guzzle": "^6.3"
    },
    // composer 开发环境依赖列表
    "require-dev": {
        "symfony/var-dumper": "^4.2",
        "topthink/think-trace": "^1.1"
    },
    // NPM 依赖列表
    "dependencies": {
        "vue-i18n": "~9.1.9",
        "vue-router": "~4.0.11"
    },
    // NPM 开发环境依赖列表
    "devDependencies": {
        "@types/lodash": "~4.14.180",
        "@types/node": "~17.0.9"
    },
    // Nuxt 工程 NPM 依赖列表
    "nuxtDependencies": {
        "vue-i18n": "~9.1.9",
        "vue-router": "~4.0.11"
    },
    // Nuxt 工程 NPM 开发环境依赖列表
    "nuxtDevDependencies": {
        "@types/lodash": "~4.14.180",
        "@types/node": "~17.0.9"
    },
    // 禁用本模块时,不能删除的文件
    // 如果是系统核心文件:模块禁用时会自动恢复“安装模块时备份的所有冲突文件”,所以以下文件,多数情况会被还原到模块安装之前
    "protectedFiles": ["app/common.php", "app/admin/event.php"],
    // 更新 composer.json 的 config 字段
    "composerConfig": {
        "allow-plugins": {
            "easywechat-composer/easywechat-composer": true
        }
    }
}

模块其他要求与依赖声明

一、BuildAdmin 系统版本要求

模块的每个小版本,都可以对 BuildAdmin 系统版本进行要求,比如模块 v2.0.0 版本,仅提供给 BuildAdmin >= v2.3.3,低版本 BuildAdmin 可见新版本但不可下载更新。

二、依赖市场的其他模块

安装模块时检查是否已经安装另外一个模块,比如没有安装 workerman 工程,就不能安装客服系统,安装器将提醒用户先行安装 workerman 工程 模块。

三、与市场其他模块互斥

安装模块时检查是否与已经存在的模块冲突,比如已经安装七牛云存储就不能安装腾讯云存储。

提示

以上三点,都需要上架的模块才支持配置,上架时直接将以上的 小版本限制/依赖/互斥关系表 同模块包一起发送给 hi@buildadmin.com 即可,无格式要求,您能描述清楚即可,我们将在官网后台对这些信息进行维护,目前暂不支持开发者自行维护(没做这个功能)。