新聞中心
從 AngularJS 升級(jí)到 Angular
Angular是現(xiàn)在和未來的 Angular 名稱。

AngularJS是所有 1.x 版本的 Angular 的名稱。
有很多大型 AngularJS 應(yīng)用。在遷移到 Angular 之前,請(qǐng)始終考慮其業(yè)務(wù)案例。該案例的一個(gè)重要部分是遷移的時(shí)間和精力。本指南描述了用于將 AngularJS 項(xiàng)目高效遷移到 Angular 平臺(tái)的內(nèi)置工具,一次一個(gè)。
有些應(yīng)用可能比其它的升級(jí)起來簡(jiǎn)單,還有一些方法能讓把這項(xiàng)工作變得更簡(jiǎn)單。 即使在正式開始升級(jí)過程之前,可以提前準(zhǔn)備 AngularJS 的程序,讓它向 Angular 看齊。 這些準(zhǔn)備步驟幾乎都是關(guān)于如何讓代碼更加松耦合、更有可維護(hù)性,以及用現(xiàn)代開發(fā)工具提高速度的。 這意味著,這種準(zhǔn)備工作不僅能讓最終的升級(jí)變得更簡(jiǎn)單,而且還能提升 AngularJS 程序的質(zhì)量。
成功升級(jí)的關(guān)鍵之一是增量式的實(shí)現(xiàn)它,通過在同一個(gè)應(yīng)用中一起運(yùn)行這兩個(gè)框架,并且逐個(gè)把 AngularJS 的組件遷移到 Angular 中。 這意味著可以在不必打斷其它業(yè)務(wù)的前提下,升級(jí)更大、更復(fù)雜的應(yīng)用程序,因?yàn)檫@項(xiàng)工作可以多人協(xié)作完成,在一段時(shí)間內(nèi)逐漸鋪開。 Angular upgrade 模塊的設(shè)計(jì)目標(biāo)就是讓你漸進(jìn)、無縫的完成升級(jí)。
準(zhǔn)備
AngularJS 應(yīng)用程序的組織方式有很多種。當(dāng)你想把它們升級(jí)到 Angular 的時(shí)候, 有些做起來會(huì)比其它的更容易些。即使在開始升級(jí)之前,也有一些關(guān)鍵的技術(shù)和模式可以讓你將來升級(jí)時(shí)更輕松。
遵循 AngularJS 風(fēng)格指南
AngularJS 風(fēng)格指南收集了一些已證明能寫出干凈且可維護(hù)的 AngularJS 程序的模式與實(shí)踐。 它包含了很多關(guān)于如何書寫和組織 AngularJS 代碼的有價(jià)值信息,同樣重要的是,不應(yīng)該采用的書寫和組織 AngularJS 代碼的方式。
Angular 是一個(gè)基于 AngularJS 中最好的部分構(gòu)思出來的版本。在這種意義上,它的目標(biāo)和 AngularJS 風(fēng)格指南是一樣的: 保留 AngularJS 中好的部分,去掉壞的部分。當(dāng)然,Angular 還做了更多。 說這些的意思是:遵循這個(gè)風(fēng)格指南可以讓你寫出更接近 Angular 程序的 AngularJS 程序。
有一些特別的規(guī)則可以讓使用 Angular 的 ?upgrade/static? 模塊進(jìn)行增量升級(jí)變得更簡(jiǎn)單:
- 單一規(guī)則 規(guī)定每個(gè)文件應(yīng)該只放一個(gè)組件。這不僅讓組件更容易瀏覽和查找,而且還讓你能逐個(gè)遷移它們的語(yǔ)言和框架。 在這個(gè)范例程序中,每個(gè)控制器、工廠和過濾器都位于各自的源文件中。
- 按特性分目錄的結(jié)構(gòu)和模塊化規(guī)則在較高的抽象層定義了一些相似的原則:應(yīng)用程序中的不同部分應(yīng)該被分到不同的目錄和 NgModule 中。
如果應(yīng)用程序能用這種方式把每個(gè)特性分到一個(gè)獨(dú)立目錄中,它也就能每次遷移一個(gè)特性。 對(duì)于那些還沒有這么做的程序,強(qiáng)烈建議把應(yīng)用這條規(guī)則作為準(zhǔn)備步驟。而且這也不僅僅對(duì)升級(jí)有價(jià)值, 它還是一個(gè)通用的規(guī)則,可以讓你的程序更“堅(jiān)實(shí)”。
使用模塊加載器
當(dāng)你把應(yīng)用代碼分解到每個(gè)文件中只放一個(gè)組件的粒度后,通常會(huì)得到一個(gè)由大量相對(duì)較小的文件組成的項(xiàng)目結(jié)構(gòu)。 這比組織成少量大文件要整潔得多,但如果你不得不通過 ?


咨詢
建站咨詢