阿里云「飞天发布时刻」2024来啦!新产品、新特性、新能力、新方案,等你来探~ 了解详情
写点什么

Angular4 现已发布

  • 2017-03-27
  • 本文字数:1746 字

    阅读完需:约 6 分钟

经历了 6 个 RC 版本之后,Angular 项目组终于在今天发布了新版——正式版 Angular 4.0.0

  • 这个版本不仅速度更快、体积更小,还对内置指令 NgFor 和 NgIf 以及模板的 source map 等功能进行了优化。
  • 同时,该版本向后兼容大多数应用中的 2.x.x 系列。
  • 新版本还优化了 View 引擎,改进后 AoT 生成的代码将减少约 60%,而且模板越复杂,所优化的代码量就越大。
  • Angular 将动画部分从 @angular/core 拆分出来,单独打包。将核心模块精简后,在不使用动画时产品中将不包含冗余的动画代码。如果需要动画,可使用相关功能自行导入。

项目地址: https://github.com/angular/angular/releases

新的特性

这次的正式版本带来的新特性如下:

优化了内置指令 nglf 和 ngFor

新版本中的模板对于绑定语法做了些修改,将支持开发者使用 if/else 类型的语法,并支持在展开 Observable(可观察对象)等代码中分配局部变量。

复制代码
<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 官方集成。这也是集成之后 Universal 的首次发布,包含了过去数月中 Universal 团队的工作成果。目前大多功能已集成到 @angular/platform-server 模块中,点击这里可以查看Github 上的相关案例,或者Rob Wormald 的 Demo Repository

TypeScript 2.1 与 2.2 的兼容

Angular 的 TypeScript 目前已更新到 2.2 版本,一方面提高了 ngc 的速度,同时在应用中进行 type 检查时,体验也更优秀。当前版本向下兼容。

模板的源映射

目前如果模板出现错误,我们会生成源映射,以了解原始模板中的前因后果及背景环境。

升级到 4.0.0 版本

升级到最新版本非常简单,不过要确认一点:是否需要动画。大多情况下可用下面的命令来解决问题:

在 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 在 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然后再运行常用的 ng serve 或者 npm start 命令,就完成了。

特殊情况下,如果开发者需要依赖动画 Animations,可在 root NgModule 中通过 @angular/platform-browser/animations 导入新的 BrowserAnimationsModule 模块,否则可能会遇到错误。不建议使用 @angular/core,请通过 import { trigger, state, style, transition, animate } from '@angular/animations’来导入。

为了方便大家升级,官方更贴心地推出了 Angular Update Guide 功能,点击可快速选择适合自己的升级方案。

为什么跳过 Angular 3?

根据 Angular 团队首席开发 Igor Minar 的说法:随着 Angular 2 的发布,Angular 团队引入了语义化版本控制规范,即:将语义化版本用三组数字来表示,按照 major.minor.patch 的顺序排列,如 2.3.1。

Patch 版本每周发布,通常只修复问题,不加入新的功能。Minor 版本每月发布,加入一些新的功能,但相对旧版本来说没有太大更改。Major 版本每半年发布一次,加入一些新功能,并可能带来一些重大更改。

之前最新的 Angular router 版本号是 3.3.0,而其它模块的版本号是 2.2.0,由于版本号不同步,团队计划将其同步,直接采用 4.0.0 作为新版的版本号。

由于 Angular 团队计划每半年发布一个主要(Major)版本,因此按计划 Angular 5 将于 2017 年 9 月发布。

原文链接: Angular 4.0.0 Now Available


感谢韩婷对本文的审校。

给InfoQ 中文站投稿或者参与内容翻译工作,请邮件至 editors@cn.infoq.com 。也欢迎大家通过新浪微博( @InfoQ @丁晓昀),微信(微信号: InfoQChina )关注我们。

2017-03-27 19:005322

评论

发布
暂无评论
发现更多内容

第一个模块作业

achilles

项目管理的十大领域

石云升

项目管理 项目经理 1月月更

(1-20/20) 用技术实现更快、更好的销售

mtfelix

300天创作 2022Y300P

【笔记】学《郭东白的架构课》:03|法则一:如何找到唯一正确的架构目标?

术子米德

架构师成长笔记

阿里最新丰碑:国内第一本凤凰架构,全面构建可靠大型分布式系统

碌碌无为小码农

Java 架构 程序人生 编程语言 经验分享

『内存中的操作系统』如何高效, 灵活的虚拟化内存(1)

soolaugust

操作系统 内存

ReactNative进阶(三十二):前端构建工具--Yeoman

No Silver Bullet

React Native 1月月更 Yeoman

如何用 Serverless 让 SaaS 获得更灵活的租户隔离、更优的资源开销

碌碌无为小码农

Java 架构 面试 经验分享 编程语言、

Redis:我是如何与客户端进行通信的

碌碌无为小码农

Java 面试 程序人生 编程语言 经验分享

【笔记】学《郭东白的架构课》:13|法则六:如何鉴别文化环境是否有利于架构师的生存?

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:12|法则五:如何提升一个架构设计的外部适应性?

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:06|法则二:拼多多是如何通过洞察用户人性而脱颖而出的?

术子米德

架构师成长笔记

“字节”再次起跳!内部651页剖析HotSpot 源码手册,GitHub开源

碌碌无为小码农

Java 面试 程序人生 编程语言 经验分享

被字节跳动气炸了!

Jackpop

混沌工程之 ChaosToolkit K8S 使用之删除 POD 实验

zuozewei

k8s 混沌工程 1月月更

【笔记】学《郭东白的架构课》:11|法则五:架构师为什么要关注技术体系的外部适应性?

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:09|法则四:为什么要顺应技术的生命周期?

术子米德

架构师成长笔记

架构实战训练营- 模块8 -作业

温安适

「架构实战营」

表妹和我纠结,线上系统因为一个ThreadLocal直接内存飙升

碌碌无为小码农

Java 架构 程序人生 编程语言 经验分享

php中序列化与反序列化

喀拉峻

网络安全

参数校验Spring的@Valid注解用法详解

JavaEdge

1月月更

【笔记】学《郭东白的架构课》:02|法则一:为什么有些架构活动会没有正确的目标?

术子米德

架构师成长笔记

后悔没有再点遇到!字节技术官DDD(领域驱动设计)手册,拆解业务代码首选

碌碌无为小码农

Java 架构 程序人生 编程语言 经验分享

GitHub上线一天星标99.9K:阿里内部高逼格SpringCloud实战手册

碌碌无为小码农

Java 架构 面试 程序人生 编程语言

【笔记】学《郭东白的架构课》:10|架构设计中怎么判断和利用技术趋势?

术子米德

架构师成长笔记

24 Prometheus之微服务监控概述

穿过生命散发芬芳

Prometheus 1月月更

【笔记】学《郭东白的架构课》:08|架构师如何在一定时间内最大化自己的增量价值?

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:07|法则三:架构师如何找到自己的商业模式?

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:05|法则二:研发人员的人性需求是如何影响架构成败的?

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:04|法则二:架构师为什么要学习马斯洛的需求理论?

术子米德

架构师成长笔记

【笔记】学《郭东白的架构课》:01|模块导学:是什么在影响架构活动的成败?

术子米德

架构师成长笔记

Angular4现已发布_语言 & 开发_孙薇_InfoQ精选文章