Angular5.0.0新特性

  

文章来自官网部分翻译

  

<代码> https://blog.angular.io/version-5-0-0-of-angular-now-available-37e414935ced

  

Angular5.0.0版本已经正式发布

  

 Angular5.0.0新特性

  

总结一下v5.0.0带来的新变化都有哪些。

  


  

  

5.0版本默认采用CLI构建和打包。构建优化器是包含在CLI里面的一个工具,通过对你的应用程序更加语义化的理解可以使得你的打包程序(包)更小。
  

  

构建优化器有两个主要工作。
  

  

第一,我们可以将应用程序的一部分标记为纯应用(纯),改进了现有工具提供的摇树优化,删除了应用中其它不需要的部分。
  

  

第二,从你的应用程序在运行时删除装饰符代码(decorator),装饰(decorator)是由编译器使用的,而在运行时并不需要可以被删除。这些工作减少了生成的JavaScript包的大小,并增加了你的用户应用程序的启动速度。

  


  

  

有了这个支持,可以让应用程序在服务器端和客户端版之间共享状态更容易。
  

  

角普遍是一个帮助开发者实现SSR的开源项目,通过在服务端渲染
  

  

角应用程序,然后在客户端引导启动程序并生成HTML,由此更好的支持那些对javascript不太友好的化境来提高应用程序性能。
  

  

5.0版本中,角开发团队添加了ServerTransferStateModule(与之对应的BrowserTransferStateModule),这个模块允许你在服务端生成模块信息并传输到客户端,不需要在客户端重复创建。这一点在通过HTTP获取数据并展示时非常有用。通过服务端状态转移,客户端不需要在发送第二个HTTP数据请求,状态转移的API文档将在未来几周内发布。
  

  

此处另一个改变是AngularUniversal团队添加了Domino渲染工具,Domino的加入意味着我们在服务器端上下文中将可以支持更多的DOM操作,改进了对第三方JS和组件库的支持。

  


  

  

改进了角编译器来支持增量编译,重新构建变得更快,特别是对生产环境的构建和AOT编译,增强的装饰器可以通过更精细化的去除空格来减小产生的包。
  

  

改进后的AOT编译的性能大幅度,提升可以节省约95%的构建时间,40年代可以提升至2 s完成一次构建。
  

  

保留空白
  

  

通过编译器,模板开发中的制表符,换行符,空格等可以原样的保留下来,并提供选项可以自选是否使用保留空格来保留这些东西。

  

 Angular5.0.0新特性”> <br/>
  </p>
  <p>也可以在tsconfig.json设置作用到全局</p>
  <p> <img src=

  


  

  

Angular5中已经建立了新的号码,日期和货币管道,增加了跨浏览器的标准化实现,消除国际化在不同环境中的差异。
  在5.0中管道可以使用我们自己的实现,可以在任何地方实现本地化的支持和配置。
  

  

V4 V5之间管道差异对比
  <代码> https://docs.google.com/spreadsheets/d/12iygt-_cakNP1VO7MV9g4lq9NsxVWG4tSfc98HpHb0k/edit gid=0

  

  

为了更多的减少polyfills, 5.0中使用了StaticInjector注入器来替换原有的ReflectiveInjector注入器,这种注入器不再里来与ReflectPolyfill,可以大幅减少应用程序体积
  

  

在4。x中,依赖注入器一共有两种,即注入器的抽象类子类:
  

  

1。_NullInjector(该类的实例用于表示空的注入器)
  

  

2。ReflectiveInjector(表示一个依赖注入容器,用于实例化对象和解析依赖)

  

<代码lang=" bash ">之前提供依赖注入方式:ReflectiveInjector.resolveAndCreate(供应商);5.0中方式:Injector.create(供应商);

Angular5.0.0新特性