新版本的特性:
更輕量化耸彪、更快
在這個新版本上,我們履行了我們的承諾忘苛,我們做到了讓Angular的程序變的更輕量化蝉娜,更快。但是我們還沒有完全的優(yōu)化完扎唾,在接下來的日子中召川,你會看到我們將著重于這方面的改進。
視圖引擎
我們在后臺改變了生成的AOT代碼樣式胸遇。這個變化將減少大多數(shù)情況下生成的60%的組件代碼荧呐。它可以使你自己的模板更個性化,復用率更高纸镊。
在我們新版本還沒發(fā)布的時候倍阐,我們聽到很多開發(fā)者認為如果他們將angular更新到4.0.0,angular4.0.0將會使他們的生產(chǎn)束將降低逗威。為了更好的了解我們對視圖引擎做的改進峰搪,歡迎閱讀我們的開發(fā)文檔。
動畫包
我們在@angular/core中新增了很多我們自己的動畫效果包凯旭。這就意味著概耻,你用或不用,動畫包就在那里罐呼,不離不棄鞠柄。
這個變化同樣會讓你更容易的找到文檔,更好的實現(xiàn)自動完成弄贿。你也可以從@angular/platform-browser/animations中導入瀏覽器動畫模型春锋,以此來為你的主要模塊實現(xiàn)你需要的動畫效果。
新功能
*ngIf和*ngFor的改進
我們的模塊綁定語法現(xiàn)在支持一些有用的改進差凹。你現(xiàn)在可以使用if/else這類風格的語法期奔,并且局部變量支持類似下面的使用。
Loading...
Angular Universal
Universal危尿,這個項目允許開發(fā)者在服務器上運行Angular呐萌,這是angular的所改即所見特性。這是angular團隊通過的第一個來自于使用者谊娇,社區(qū)推動發(fā)展的一個項目肺孤。這個版本包括過去幾個月內我們開發(fā)團隊及社區(qū)開發(fā)者的,共同努力的結果。Angular的平臺服務器部分包含了Universal的專業(yè)代碼赠堵。
如果想了解更多的Augular的Universal小渊,請查閱Angular/平臺服務器中的一個新方法,renderModuleFactory茫叭,或者查看Rob Wormald的演示庫酬屉。更多的文檔和代碼即將發(fā)布。
TypeScript 2.1和2.2的兼容性
我們讓Angular支持了最近的幾個TypeScript的版本揍愁。這將會提升ngc的速度呐萨,此外,你的程序還將得到更好的類型檢查莽囤。
模塊的源映射
當你的模塊中的某個因素會造成錯誤時谬擦,我們會生成一個源映射,給出模塊中產(chǎn)生錯誤的上下文位置朽缎。
包的變化
Flat ES Modules (Flat ESM / FESM)
我們現(xiàn)在扁平化我們組件的版本(我們在EcmaScript模塊通過格式化代碼來控制版本惨远,具體參見我們的示例文件)。這種行為將會幫助 你進行tree-shaking饵沧,幫助減少你的生產(chǎn)術的大小锨络,加快編譯赌躺,翻譯狼牺,以及在某些情況下瀏覽器的加載。
Experimental ES2015 Builds
我們現(xiàn)在也選擇使用ES2015將我們的包扁平化礼患,格式化是钥。這種選擇是帶有實驗性質和冒險進入的。開發(fā)商已經(jīng)通報了缅叠,把這些包匯總將會增加7%的大小悄泥。嘗試一下這些新的包,配置編譯環(huán)境來解決包中的‘ec2015’屬性肤粱。json超出了這些模塊的屬性弹囚。
Experimental Closure Compatibility
現(xiàn)在我們所有的代碼都有閉包注釋,使其盡可能的利用先進的閉包優(yōu)化领曼,從而導致減小的束大小和更好的tree shaking代碼優(yōu)化鸥鹉。
更新4.0.0
更新到4.0.0是和你更新Angular支持包到最新版本一樣簡單,如果你想要動畫的新特性庶骄,請檢查兩次毁渗。這將試用與大多數(shù)情況。
Linux/Mac系統(tǒng)下更新:
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