您好,登錄后才能下訂單哦!
前言
angular4.0.0正式版現在可以使用了。這是自我們宣布angular改版后,首次發布的專業版本。它向下兼容,支持所有使用了angular2.x.x版本的應用程序。
我們很高興和大家分享這個版本,它包括最近的3個月中我們做的功能上的主要改進。我們努力讓開發者們能夠很容易的接受angular4.0.0。
新版本的特性
•更輕量化、更快
在這個新版本上,我們履行了我們的承諾,我們做到了讓Angular的程序變的更輕量化,更快。但是我們還沒有完全的優化完,在接下來的日子中,你會看到我們將著重于這方面的改進。
•視圖引擎
我們在后臺改變了生成的AOT代碼樣式。這個變化將減少大多數情況下生成的60%的組件代碼。它可以使你自己的模板更個性化,復用率更高。
在我們新版本還沒發布的時候,我們聽到很多開發者認為如果他們將angular更新到4.0.0,angular4.0.0將會使他們的生產束將降低。為了更好的了解我們對視圖引擎做的改進,歡迎閱讀我們的開發文檔。
•動畫包
我們在@angular/core中新增了很多我們自己的動畫效果包。這就意味著,你用或不用,動畫包就在那里,不離不棄。
這個變化同樣會讓你更容易的找到文檔,更好的實現自動完成。你也可以從@angular/platform-browser/animations中導入瀏覽器動畫模型,以此來為你的主要模塊實現你需要的動畫效果。
新功能
•*ngIf和*ngFor的改進
我們的模塊綁定語法現在支持一些有用的改進。你現在可以使用if/else這類風格的語法,并且局部變量支持類似下面的使用。
<div *ngIf="userList | async as users; else loading"> <user-profile *ngFor="let user of users; count as count" [user]="user"> </user-profile> <div>{{count}} total users</div> </div> <ng-template #loading>Loading...</ng-template>
•Angular Universal
Universal,這個項目允許開發者在服務器上運行Angular,這是angular的所改即所見特性。這是angular團隊通過的第一個來自于使用者,社區推動發展的一個項目。這個版本包括過去幾個月內我們開發團隊及社區開發者的,共同努力的結果。Angular的平臺服務器部分包含了Universal的專業代碼。
如果想了解更多的Augular的Universal,請查閱Angular/平臺服務器中的一個新方法,renderModuleFactory,或者查看Rob Wormald的演示庫。更多的文檔和代碼即將發布。
•TypeScript 2.1和2.2的兼容性
我們讓Angular支持了最近的幾個TypeScript的版本。這將會提升ngc的速度,此外,你的程序還將得到更好的類型檢查。
•模塊的源映射
當你的模塊中的某個因素會造成錯誤時,我們會生成一個源映射,給出模塊中產生錯誤的上下文位置。
包的變化
•Flat ES Modules (Flat ESM / FESM)
我們現在扁平化我們組件的版本(我們在EcmaScript模塊通過格式化代碼來控制版本,具體參見我們的示例文件)。這種行為將會幫助 你進行tree-shaking,幫助減少你的生產術的大小,加快編譯,翻譯,以及在某些情況下瀏覽器的加載。
•Experimental ES2015 Builds
我們現在也選擇使用ES2015將我們的包扁平化,格式化。這種選擇是帶有實驗性質和冒險進入的。開發商已經通報了,把這些包匯總將會增加7%的大小。嘗試一下這些新的包,配置編譯環境來解決包中的‘ec2015'屬性。json超出了這些模塊的屬性。
•Experimental Closure Compatibility
現在我們所有的代碼都有閉包注釋,使其盡可能的利用先進的閉包優化,從而導致減小的束大小和更好的tree shaking代碼優化。
更新4.0.0
更新到4.0.0是和你更新Angular支持包到最新版本一樣簡單,如果你想要動畫的新特性,請檢查兩次。這將試用與大多數情況。
•Linux/Mac系統下更新:
npm install @angular/{common,compiler,compiler-cli,core,forms,http,platform-browser,platform-browser-dynamic,platform-server,router,animations}@latest typescript@latest --save
•window下更新:
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
接著你就可以正常使用了,可以運行任意的ng服務或者ng命令,一切就都就緒了。
如果你依賴動畫,可以在你的root NgModule下從@angular/platform-browser/animations模塊中導入新的BrowserAnimationsModule類。
如果不需要動畫,除了動畫存在小問題,你的代碼可以直接編譯和運行。從Angular/core下引入包是過時的一種做法,正常的做法應該是從@angular/animations導入新的包,導入{ trigger, state, style, transition, animate }等。
如果你想看到更多改變你的應用程序需要的信息,你可以參考我們正在做的交互式更新指南。
已知問題
angular4的其中一個目標是使angular兼容TypeScript的strictNullChecks設置,使其支持一個更嚴格的子集類型的授權。我們發現在發布候選版時,我們需要做各種工作,來保證angular4在各種使用情況下都可以正常運行,所以為了防止應用程序中途停止運行,我們故意設置4.0版本不支持strictNullChecks。我們會很快解決這個問題的,預計在4.1版本,我們將支持strictNullChecks。(問題編號:15432)。
下一步呢?
和我們發布2.x版本的時間表一樣,我們正在制定未來6個月的版本發布的工作計劃。你很快就能看到4.0.0的補丁,并且我們已經在開發4.1版本了。我們將繼續努力讓Angular變的更小和更快,我們還會開發新的功能,比如說@angular/http,@angular/service-worker, and @angular/language-service的正式版本。
你也應該持續關注、更新我們的文檔,一旦CLI穩定發布,我們將提供相應的架包作者的指導。
來源于angular4.0.0發布時的公告,譯者:niithub
原文發布時間:Thursday, March 23, 2017
翻譯時間:2017年3月24日
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作能帶來一定的幫助,如果有疑問大家可以留言交流。
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。