Cordova:排除插件和平台

时间:2015-09-21 17:20:44

标签: git cordova

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

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

这确保git只跟踪两个json文件。这是我的platforms.json

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

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

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

所以我的问题是:

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

1 个答案:

答案 0 :(得分:2)

  1. 我会说是的,只要您设置要使用的平台和插件的版本 - 保持CLI可以通过源代码控制生成的东西是一件好事

  2. 是的,您可以使用@ notation例如:

    cordova platform add cordova-plugin-gelocation@1.0.1

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

    关于运行命令,我使用hooks进行此操作,并有一个post platform add hook,它运行一个脚本,使用@ notation安装我的所有插件,以获得我想要的版本。

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