【问题标题】:Cordova: Exclude plugins and platformsCordova:排除插件和平台
【发布时间】:2015-12-18 12:00:28
【问题描述】:

我不想在我的科尔多瓦项目的 git 存储库中包含平台和插件。相反,我只包括platforms/platforms.jsonplugins/fetch.json。我的.gitignore 看起来像这样

platforms/**
!platforms/platforms.json
plugins/**
!plugins/fetch.json

这样可以确保只有两个 json 文件被 git 跟踪。这是我的platforms.json

{
    "ios": "3.9.1",
    "android": "4.1.1"
}

但是,我认为 cordova prepare 会查看 platforms.json 并为我的项目自动安装正确的版本。对于插件目录中的fetch.json 来说,这同样非常方便。但是,我注意到这里没有版本,git commit hashes...被跟踪,它看起来像这样:

"cordova-plugin-console": {
    "source": {
        "type": "registry",
        "id": "cordova-plugin-console"
    },
    "is_top_level": true,
    "variables": {}
}

所以我的问题是:

  1. 从 git 存储库中排除平台和插件是最佳做法吗?
  2. 是否有(或将会有)一种类似捆绑程序的方式,将插件和平台锁定到特定版本,然后运行一个命令,然后一切都安装完毕?
  3. 不包含平台和插件目录并与其他开发人员共享项目的好方法是什么?

【问题讨论】:

    标签: git cordova


    【解决方案1】:
    1. 我会说是的,只要您设置要使用的平台和插件的版本 - 让 CLI 可以生成的东西不受源代码控制是一件好事

    2. 是的,例如,您可以使用 @ 表示法:

      cordova平台添加cordova-plugin-gelocation@1.0.1

    这也适用于平台,并且每个版本的 Cordova CLI 默认为特定版本的 Cordova 平台,除非您覆盖它。

    关于运行命令,我为此使用 hooks 并有一个发布平台添加挂钩,该挂钩运行一个脚本,该脚本使用 @ 表示法安装我的所有插件以获得我想要的版本。

    1. 按照上面的建议,您应该能够做到这一点。如果您发现自己需要手动修改项目的平台文件夹中的任何内容,请考虑是否可以在将平台添加到源存储库之前使用可用的构建挂钩编写脚本。如果您发现自己正在更改插件并认为需要签入,那么 fork 您正在使用的插件,在分叉的 repo 中进行更改并使用 cordova plugin add 从您的 git repo 或本地文件夹添加您的插件版本而不是污染您的主要 Cordova 项目存储库。

    【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2020-06-22
    • 2015-07-10
    • 1970-01-01
    • 2016-02-26
    • 1970-01-01
    • 2018-05-21
    • 1970-01-01
    相关资源
    最近更新 更多