2015-09-21 18 views
2

我不想在我的git倉庫中爲我的cordova項目包含平臺和插件。相反,我只包括platforms/platforms.jsonplugins/fetch.json。我.gitignore看起來像這樣Cordova:排除插件和平臺

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的承諾哈希...跟蹤,它只是看起來像這樣:

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

所以我的問題是:

  1. 是它的最佳實踐,以排除平臺和git倉庫的插件?
  2. 是否存在(或將會)類似捆綁器的方式,將插件和平臺鎖定到特定版本,並且只運行一個命令,並且所有的東西都被安裝?
  3. 什麼是一個好方法,不包括平臺和插件目錄,並與其他開發人員共享項目?

回答

2
  1. 爲您設置的平臺的版本和插件要使用我要說的是,這麼長 - 保持事物的CLI能夠產生出源的控制是一件好事

  2. 是的,你可以用@符號,例如:

    科爾多瓦平臺添加[email protected]

釷也適用於平臺,每個版本的Cordova CLI默認爲Cordova平臺的特定版本,除非您覆蓋它。

關於運行一個命令,我使用hooks爲此,並有一個後臺平臺添加掛鉤運行一個腳本,使用@符號安裝我的所有插件,以獲得我想要的版本。

  1. 按照上面的建議,你應該可以做到這一點。如果您發現自己需要手動修改項目中平臺文件夾中的任何內容,請考慮是否可以在將平臺添加到源存儲庫之前使用可用的構建掛鉤來編寫腳本。如果你發現自己改變了插件,並認爲你需要檢查插件,然後分叉你正在使用的插件,在分叉的repo中進行更改,並使用cordova插件添加從git repo或本地文件夾中添加插件版本而不是污染你的主要科爾多瓦項目回購。
+1

演示項目我正在使用我的建議模式https://github.com/simonprickett/bartcordova –