Web前端框架Angular4.0.0 正式版发布


Posted in Javascript onMarch 28, 2017

前言

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日

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作能带来一定的帮助,如果有疑问大家可以留言交流。

Javascript 相关文章推荐
jquery easyui 对于开始时间小于结束时间的判断示例
Mar 22 Javascript
Jquery树插件zTree用法入门教程
Feb 17 Javascript
jQuery+AJAX实现网页无刷新上传
Feb 22 Javascript
Javascript验证Visa和MasterCard信用卡号的方法
Jul 27 Javascript
javaScript中的原型解析【推荐】
May 05 Javascript
Javascript实现基本运算器
Jul 15 Javascript
JS实现匀加速与匀减速运动的方法示例
Sep 04 Javascript
ng-alain表单使用方式详解
Jul 10 Javascript
在小程序中集成redux/immutable/thunk第三方库的方法
Aug 12 Javascript
优雅地使用loading(推荐)
Apr 20 Javascript
详解auto-vue-file:一个自动创建vue组件的包
Apr 26 Javascript
解决js中的setInterval清空定时器不管用问题
Nov 17 Javascript
JavaScript实现经纬度转换成地址功能
Mar 28 #Javascript
js实现多行文本框统计剩余字数功能
Mar 28 #Javascript
js实现下拉框效果(select)
Mar 28 #Javascript
vue2.0获取自定义属性的值
Mar 28 #Javascript
详解从Node.js的child_process模块来学习父子进程之间的通信
Mar 27 #Javascript
利用NPM淘宝的node.js镜像加速nvm
Mar 27 #Javascript
Vue中的v-cloak使用解读
Mar 27 #Javascript
You might like
网络资源
2006/10/09 PHP
Apache+php+mysql在windows下的安装与配置图解(最新版)
2008/11/30 PHP
初次接触php抽象工厂模式(Elgg)
2010/03/21 PHP
phalcon框架使用指南
2016/02/23 PHP
CI框架AR数据库操作常用函数总结
2016/11/21 PHP
JQuery 确定css方框模型(盒模型Box Model)
2010/01/22 Javascript
jquery $.getJSON()跨域请求
2011/12/21 Javascript
javascript面向对象之共享成员属性与方法及prototype关键字用法
2015/01/13 Javascript
可以浮动某个物体的jquery控件用法实例
2015/07/24 Javascript
jQuery实现仿百度首页滑动伸缩展开的添加服务效果代码
2015/09/09 Javascript
javascript运动框架用法实例分析(实现放大与缩小效果)
2016/01/08 Javascript
第三篇Bootstrap网格基础
2016/06/21 Javascript
jQuery源码解读之extend()与工具方法、实例方法详解
2017/03/30 jQuery
JavaScript实现body内任意节点的自定义属性功能示例
2017/09/18 Javascript
[01:13]DOTA2群星解读国服召集令 一起说出回归的理由
2013/07/17 DOTA
[02:11]DOTA2上海特级锦标赛主赛事第二日RECAP
2016/03/04 DOTA
python将ansible配置转为json格式实例代码
2017/05/15 Python
python中类和实例如何绑定属性与方法示例详解
2017/08/18 Python
详解python Todo清单实战
2018/11/01 Python
Python发送邮件测试报告操作实例详解
2018/12/08 Python
numpy.linspace函数具体使用详解
2019/05/27 Python
Numpy 中的矩阵求逆实例
2019/08/26 Python
python装饰器练习题及答案
2019/11/01 Python
python实现ip地址的包含关系判断
2020/02/07 Python
Python基于xlrd模块处理合并单元格
2020/07/28 Python
NFL欧洲商店(德国):NFL Europe Shop DE
2018/11/03 全球购物
幼师专业毕业生自荐信
2013/09/29 职场文书
教师的实习自我鉴定
2013/12/17 职场文书
平安建设实施方案
2014/03/19 职场文书
超市创业计划书
2014/04/24 职场文书
住宅质量保证书
2014/04/29 职场文书
2015羊年春节慰问信
2015/02/14 职场文书
鲁冰花观后感
2015/06/10 职场文书
关于python pygame游戏进行声音添加的技巧
2021/10/24 Python
Win7/8.1用户可以免费升级到Windows 11系统吗?
2021/11/21 数码科技
sql server偶发出现死锁的解决方法
2022/04/10 SQL Server