2017 年 8 月

第 32 卷,第 8 期

本文章是由機器翻譯。

程式設計師雜談 - 如何使用 MEAN:升級 Angular

Ted Neward |2017 年 8 月

Ted Neward歡迎回來,MEANers。

已經兩年我啟動此特定的序列 Mongo、 Express、 Angular (節點) 的平均值堆疊上。此外,數列啟動後已繫結至,就可能發生,因為進化平均堆疊各個部分。大部分的這些更新 (特別是節點、 Express 和 Mongo 版本) 都是透明的而且採用它們是不是事件:只升級基礎 bits 和運作一切正常。

角度升級已有的 Web 前端世界某些問題一段時間,特別是因為 AngularJS (v1) 和 Angular 之間的實質性變更,但是 (v2 和更新版本) 建立某些嚴重的回溯相容性問題。(使用 「 回溯相容性 」 一詞鬆散此處,因為回溯相容性的本文 v1 到 v2 基本上,"重寫整個網頁 — 相信我們,將會是很好 ! 」)因此,它是無所適從的具有某些容量的第一個主要更新 Angular,並在該更新已宣布為主要時已觀賞角度世界版本的增強功能前掛接。

基本上,我們忙碌中撰寫的範例應用程式中,前端角度小組沒有它們原本執行時,發行 Angular 世界的新版本。這表示它是花一點時間,造成危害 bullet,升級至新版的 Angular 應用程式的時間: v4。(角度的小組決定略過 3,並直接前往 4)。 擾流器警示:這其實很遠,遠較不麻煩,比人員形態它,以及提供許多關於未來角度更新希望讓 — 這很理想,因為角度小組已承諾,他們將發行步調更多與傳統開放原始碼專案。這表示,思索,大量的小型的累加式升級釋出更快速地 (每 6 個月) 比已範數為止。

升級角度

基本上,升級為角度 4,表示要更新 npm 封裝使用 Node 封裝管理員 (npm) 的最新版本的使用中。這會採用太熟悉 「 npm 安裝 」 的命令,針對每個封裝使用的版本標籤 (「 @latest") 和"-儲存"到應用程式的 package.json 檔案中擷取最新版本的引數。上執行的 * nix 系統 (Linux 或 macOS 通常),命令會使用下列格式,其中應該輸入在一行:

npm install @angular/{common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router,animations}@latest typescript@latest --save

* Nix 命令殼層允許不同的封裝,以擷取下的"{"/"}"的組,雖然技術上每一個名為"@angular/common","@angular/compiler 」,依此類推。對於您在 Windows 上,您可以取得此稍微較長的版本:

npm install @angular/common@latest @angular/compiler@latest @angular/compiler-cli@latest @angular/core@latest @angular/forms@latest @angular/http@latest @angular/platform-browser@latest @angular/platform-browser-dynamic@latest @angular/platform-server@latest @angular/router@latest @angular/animations@latest typescript@latest --save

一次 」 npm 安裝 「 已完成執行時,針對不管您的目的在升級完成。只需執行一次,使用"ng 做 」 的應用程式,而且所有項目應該是回到執行中] 狀態。

角度 2-4 痛苦點

角度的小組已獲准,它不一定平順地轉換,不過,的發行備忘稿費心思,顯然指出,大部分的麻煩當地語系化為使用動畫,也就是尚未我從未使用過的主旨。具體來說,小組動畫移除了 @angular/core,並且它們放入自己的節點封裝,@angular/animations (其中您可以看到上述 npm 安裝 」 命令)。這樣一來,如果應用程式不會使用動畫,不一定要沿著動畫核心封裝中的程式碼執行。

角度 4 的新功能

角度 4 版本資訊加權完整的劇本,但有幾種方法特別值得。

首先,角度小組專注於降低大小/加權耗用量的角度的程式庫。這是適用於明顯原因,特別是針對不在世界各地的其餘部分的高速的光纖連線的使用者。角度的小組說它們未完成時,可能是,角度每次後續釋放將會搜尋以減少其使用量更進一步,敬請期待。

在相同的夠用,角度小組擁有較小的產生程式碼後置檢視範本的整體大小高達 60%。同樣地,這表示,應用程式建置將會是更小、 更亮。

改善小組的第二,"* ngIf"和"* ngFor"指示詞分別用來在檢視範本的分支和反覆項目案例。您還沒看過那些尚未,因此新的功能,將不會出現,但是可以看到它們過期,所以停止回應那里。

最後,角度小組也會回到角度到最新版的 TypeScript (2.2),其中包括更好的可為 null 檢查,某些型別支援 ECMAScript (ES) 2015年樣式 mixings 和 「 物件 」 類型來表示 TypeScript,類似於 System.Object 做太多的.NET 程式碼中的角色中的所有宣告類型的基底類型的型別程式庫。這會隱含也可支援 TypeScript 2.1,在它自己,像是 「 keyof 」 運算子,對應的型別 (可提供部分、 唯讀、 挑選和記錄的公用型別) 有一些有趣的功能,以及支援的 「 展開 」 和 「 rest"運算子 ES 2015。這些全部都已超出範圍 Angular 本身,但任何良好的 TypeScript 教學課程 (或 TypeScript 網站本身) 將說明其用法。基本上,這些並不會變更時寫入 Angular,至少不以立即開始,您撰寫的程式碼,但得到更角度的文件庫中使用這些功能,它們可能會開始尋找一直到角度的應用程式開發介面的介面區。可能不會發生在一段時間,不過,因此目前的最大記住的事是該 Angular 是跟的 TypeScript 演進。

總結

我希望協助您了解,執行這項升級的成本您幾乎並無關聯-這是最佳的版本更新的類型。更重要的是,它已經知道角度的應用程式成長與發展,因為必要的工作,讓它們保持在最新 Angular 的最新版本是否重新整理 (目前,還是) 簡單式。

如何使用 MEAN:上的兩年

使用此資料行時, MSDN Magazine編輯器的首席 Michael Desmond 指出我會表示要如何數列已開啟 2 年舊為準,此問題。如何為它仍然使用平均地雷嗎? 某些部分已經與此數列攻擊相當大的主旨的事實 — 完整 soup-具體、 前端-前端-到-資料儲存,REST API 中介軟體為基礎的平台,而不是只文件庫或架構。但它的某些執行與平均值的本質,堆疊本身。

查看,平均平台是從.NET Framework 平台不是由所提供的功能不同,兩者都有一種程式設計語言、 HTTP 程式庫/架構接收送出的 JSON 資料、 驅動程式來存取資料庫等。相反地,它與不同方面它並不提供。也就是說,平均平台,建置在 Node.js 平台之上強調"minimalism".NET 平台不了解。

可能聽起來有些微的之一或其他平台。以某種方式 Node.js 不會 」 完全出爐"或該.NET 是 「 太繁重。 」 不是任何這類值 judgement。但是,其中從 Microsoft.NET,而有很大重點的.NET Framework 小組已建立多年來,會繼續 Node.js 平台具有已螺栓一起建立數百個小組的開發人員從所有在世界各地的千分位的程式庫。有兩種方法各優缺點,但這不是我的討論與此方向的方向。

是兩個平台可供您,自行斟酌。而且甚至只在兩個年以前,Microsoft 的概念,開發人員可以使用.NET 或 Node.js—or 甚至 Java 或 PHP 的平台,建置應用程式上或附近的 Microsoft 作業系統 (或多個雲端平台) 似乎 ludicrous 的。沒有建議的 Microsoft 可能會達到這種 「 建立相等的所有平台 」 mentality,但公司的歷程記錄會建議我們可能會看到一個方法將這些等於第一個.NET 的符號。

請在當下考慮下列事項:代表 Angular"A"平均堆疊中。當我開始此數列時,Angular 不是它,目前的豐富型用戶端的單一頁面應用程式 (SPA) 平台,它是只留下其中一個,您可能會對 JavaScript 前端橫向的數個潛在首選。角度已經看到感興趣,明確升高,及此 magazine 頁面有已裝飾的角度,同時此資料行,以及其他人所撰寫的功能部分在範圍內多個參考。

值得注意的是這個感興趣處於前端的技術不僅不適用於 Microsoft,但運作方式的其中一個 Microsoft 的競爭對手的小組所撰寫的開放原始碼世界。它還會使用由 Microsoft 開發的開放原始碼 TypeScript 語言。它即已足夠讓您前端微調。

平均堆疊及平均值的涵蓋範圍,這在許多方面的雜誌中表達 「 新的 Microsoft。 」 有關的所有項目 它是繁星示範 Microsoft 2017 的 2007年或 2000年的 microsoft 因此完全不同的方式。透過合作與社群值競爭 Microsoft 會在長時間消失。我們今天之前公司當然競相,但不是具有其社群。Microsoft 2017 希望您使用您選擇的技術堆疊,其雲端內理想的情況下,或在其作業系統上,但是,如果您也有好,不同的選擇,是您的選擇。

在一天結束時,平均堆疊是 「 僅 」 堆疊的三個組成組件 (MongoDB、 Angular 及 Node.js/Express) 與另一個可互通的。並的事實 Microsoft 不僅滿足,但是鼓勵,告訴您剛才幅度項目都是位置之前。

可讓您不知道接下來的幾年內擁有的是,存放區中的類型不是嗎? 祝各位寫程式愉快!


Ted Neward是西雅圖 polytechnology 顧問、 喇叭和指導,目前正在處理的開發人員關聯在主管為Smartsheet.com。他有寫入 100 個以上的文件、 撰寫,而且具有兩位作者數十個書籍和世界各地的運作方式。連線到他處ted@tedneward.com或讀取在他的部落格blogs.tedneward.com


MSDN Magazine 論壇中的這篇文章的討論