《JavaScript開發框架權威指南》——1.5 語義化版本控製
本節書摘來自異步社區《JavaScript開發框架權威指南》一書中的第1章,第1.5節,作者:【美】Tim Ambler , Nicholas Cloud著,更多章節內容可以訪問雲棲社區“異步社區”公眾號查看
1.5 語義化版本控製
如果安裝了jQuery(見清單),那麼請查看項目的Bower清單。你所看到的應當與清單相仿。
清單1-7 語義化版本號
"dependencies": {
"jquery": "~2.1.3"
}
清單中的版本號2.1.3(請暫時忽略~)就是所謂的語義化版本號(Semver,Semantic Version)。語義化版本控製能夠幫助開發者按照通用格式為其項目指定版本號。該格式如下所示。
Version X.Y.Z(Major.Minor.Patch)
語義化版本格式要求開發者創建定義明晰的API(通過文檔或者自文檔化的代碼),從而為用戶使用軟件庫提供唯一的切入點。新啟動的項目一般從版本0.0.0開始,然後隨著新版本的推出,版本號逐漸增加。通常認為版本號在1.0.0以下的項目正處於緊密開發中,此時允許在不變更主版本號(Major)的情況下,對其API進行重大改變。而版本號1.0.0及以上的項目,在更改版本號時需要遵守以下規則。
當更新導致用戶使用項目API的方式發生重大變化的時候,項目的主版本號應當發生 改變。
當以向後兼容的方式添加新特性的時候 (也就是說,現有API不會失效),項目的次版本號應當發生改變。
當以向後兼容的方式修正bug的時候,項目的修訂號(Patch Version Number)應當發生改變。
這些規則可以讓開發者了解任意兩個版本之間的變化程度。隨著Bower清單的增長以及項目所需依賴項的增多,這些信息的作用會逐漸顯現出來。
注意:
清單中的“~”號表示無論何時運行install命令,都允許以“相對接近”2.1.3的版本對jQuery進行升級。如果“相對接近”和“自動安裝”這樣的字眼放在一起使用讓你覺得渾身不舒服的話,那就對了!最佳實踐建議,在Bower中引用依賴項的時候,應當避免使用“~X.Y.Z”這樣的格式。相反,你最好明確指定要在項目中引入的依賴項的版本。當有更新發布時,你可以手動檢查,並決定是否以及何時進行升級。本章隨後的示例將會遵從此建議。
最後更新:2017-06-05 14:01:52