Angular提供了改進后的遷移路徑,包括ng-upgrade組件
Angular團隊剛剛發布了從Angular 1平滑地遷移至Angular 2這一計劃的 更多信息 。
在ng-conf 2015大會上,Angular團隊表示,新的路由功能可以進行增量式的升級,每次更新一個視圖。在這篇博客文章中,Brad Green表示:“從我們收到的反饋來看,雖然人們認可新的路由功能確實能夠增量式升級,但這種增量做得還不夠。因此,我們對遷移計劃進行了重新審視與設計……”
新的遷移系統的強大能力來自于一個新的組件,名為ng-upgrade,它能夠處理以下這些方面的交互:
- 依賴注入
- 組件嵌套
- Transclusion (嵌入)
- 變更檢測 </ul>
- 在4周時間內不再出現破壞性的變更
- 完成“語法糖”,讓核心API與工具的使用體驗更佳
- 完成開發者指南的大約前20個部分,目前已經完成了其中的4個部分 </ul> </div>
一旦ng-upgrade的工作完成,開發者就能夠混合并搭配使用Angular 1與2的服務、組件和視圖。Green說道:“ng-upgrade庫會自動讓Angular 1中的可注入對象在Angular 2中可用。這也意味著你為Angular 1應用所設計的服務可以任意地注入Angular 2的組件或服務中了。”與其讓新版本通過一種不完善的方式模擬舊版本中的行為,更好的方式是讓兩個版本的引擎各自執行對應的代碼。
最終結果就是,開發者能夠逐步地將某個應用從Angular 1遷移至Angular 2中。
不過,新的路由功能也并未停止開發。Green向InfoQ透露,在即將發布的一份開發者指南中,其中會引用最新的 路由API文檔 。
這份遷移計劃對于那些還在擔心是否要繼續編寫新的Angular 1項目的開發者來說是一個好消息。用戶escobar在 Hacker News討論版 中就表示,他認為此次的遷移計劃是一個良好的舉措:
我在工作中的幾個新應用中使用了Angular2以進行評估,但很快就放棄它了,因為直至今日為止,新版本的遷移路徑始終很不明確。如果缺少遷移路徑,在眼下這一時刻選擇在新應用中使用v1有些愚蠢,但v2又完全沒有為在生產環境中使用做好準備。
</div>Green表示,他們正在計劃撰寫關于遷移的更多博客文章,包括一個詳細的指南以及代碼示例。Angular團隊也分享了一份 設計文檔 ,其中描述了有關新的遷移計劃背后所涉及的策略的更多細節。新的ng-upgrade組件目前還不可用,但應當會隨著Angular 2 Beta版本一起推出。只是目前還沒有Beta版本推出的明確日期,Green向InfoQ表示,在發布Beta版本之前,他們必須完成以下工作:
查看英文原文: Angular Offers Refined Migration Path with ng-upgrade
</div> </div>