cordova 插件文件夹中 fetch.json 文件的用途是什么?

What is the purpose of fetch.json file inside cordova plugins folder?

文件 fetch.json 在第一次执行 cordova 插件添加 后在插件文件夹中创建。每次我 add/remove 插件时也会修改此文件。

fetch.json的内容:

{
    "com.phonegap.plugins.PushPlugin": {
        "source": {
            "type": "git",
            "url": "https://github.com/phonegap-build/PushPlugin.git",
            "subdir": "."
        },
        "is_top_level": true,
        "variables": {}
    },
    "cordova-plugin-file": {
        "source": {
            "type": "registry",
            "id": "cordova-plugin-file"
        },
        "is_top_level": true,
        "variables": {}
    }
}

看起来这个文件跟踪已安装的插件,它们的来源和修订,就像 npm package.json 依赖项一样,但对于 plugman。我猜想并希望这应该尽快迁移到 npm 标准。

此文件已在 cordova add/remove 插件(https://github.com/apache/cordova-lib/blob/e4e5904619bab05705d62bce92a4c4cd0d45bb82/cordova-lib/src/cordova/plugin.js#L272

上更新

当我们 cordova prepare 时,cordova 从 plugins/ios.json 读取插件列表(对于 ios),然后,对于每个插件列表:

  • plugins/fetch.json
  • 获取插件信息
  • 尝试在本地查找插件

看起来无法使用此文件恢复插件。我的工作流程是:

  • 在 config.xml
  • 中定义插件依赖项
  • 远程平台和空插件文件夹
  • 运行 cordova platform add xxx

这将重新获取 config.xml

中定义的插件

看起来唯一的文档是源代码:https://github.com/apache/cordova-lib/search?utf8=%E2%9C%93&q=fetch