Angular5.1以及更多可用功能

咱们很高兴的宣布Angular5.1版本发布了。这是一个小版本,包含几个小的功能和bug修复。咱们也发布了Angular Cli的1.6版本,以及Angular Material的第一个稳定版本。html

新特性

  • Angular Material和CDK稳定版
  • CLI中支持Service Worker
  • 在CLI中改进了Universal和AppShell的支持
  • 改进了装饰器的错误信息
  • 支持TypeScript2.5

有关功能和bug修复的完整列表,请参阅AngularMaterialCLI的更新日志。git

Angular Material和CDK稳定版

在发布了11个alpha版本,12个beta版本以及3个候选版本以后,咱们很高兴如今可以标记Angular Material和Angular CDK的5.0.0的稳定版。基于Google的Material Design视觉设计语言,Angular Material提供了30个UI组件给你的Angular应用。组合使用Angular CDK,Angular CDK(组件开发工具包)提供了一组构建模块,帮组您构建本身的定制组件,而不须要再次解决常见问题。这些组件已经被许多GOogle应用程序(包括Google Analytics套件,Google云平台开发人员控制台以及Google Shopping Express)用于生产。github

从这个版本开始,Angular Material将遵循与Angular相同的语义化哲学,主版本的Angular Materital和Angular CDK同时做为其它平台的主版本发布。bug修复的版本将按照每周的迭代进行,而次版本将在功能完成时发布。web

访问matrial.angular.io获取文档,演示和咱们的入门指南。你还能够在Github上跟进咱们的进度,由于咱们将继续为框架添加更多类容。在接下来的几个月中,请关注诸如新的mat-tree,virtual scrolling,组件测试套件以及拖放功能。typescript

CLI1.6的Service Worker支持

性能一直是Web开发人员的一个重要目标,在今天的局域网WIFI和移动网络事件中,性能一直是一个重要的目标。现代浏览器有一个新的API用于构建可靠且快速加载的站点,称为Service Worker APIshell

Angular5.0.0附带了一个为Angular应用程序定制的新的Service Worker实现,而Angular CLI 1.6包含了支持利用这个新特性构建应用的功能。使用@angular/service-worker能够提高你的应用的加载性能在支持该API的浏览器中,以及使你的应用的加载体验更像是本地app。express

在咱们的文档网站中,学习更多关于Angular Service的内容npm

CLI1.6 改进Universal和App Shell支持

此外,随着Angular CLI1.6的发布,更好的经过Schematics将Universal添加到你现有的项目中,并为App Shell提供支持。json

Angular Universal

添加Universal到你当前的CLI项目中,你能够在你的项目目录下使用下面的命令:浏览器

npm generate universal <name>
复制代码

用你想给你的应用程序的名字替换<name>。这将会采用你采用的应用程序,并建立一个通用的模块,并为你自动配置你的angular-cli.json文件。而后你能够跳到咱们的指南中的第4步使用Universal。

要构建你的Universal应用,只须要运行如下命令:

ng build --app=<name> 复制代码

App Shell

额外添加的功能是对App Shell的支持。如今你能够生成和构建一个应用shell,它使用Universal来为你的应用构建一个静态的首次渲染在你的index.html页面中。当你的应用程序正在启动时,这会给用户更好的体验。

首先,确保在你的应用中的NgModule中有一个RouterModule的模块被导入,以及有一个在你应用组件的模块中。App Shell使用路由来渲染你的应用。

运行如下命令:

ng generate app-shell [ --universal-app <universal-app-name>] [ --route <route>]
复制代码

经过传递app-shell参数,将对主应用程序的all shell的支持添加到你的angular-cli.json文件中。若是Universal应用没有经过,则第一次运行Universal Schematic的时候会建立一个Universal应用。路由参数指定了在生成应用期间生成的路由配置。(App Shell须要有路由的支持)。默认是/shell。

完成这一步以后,只须要使用ng build就能够正常构建应用程序,index.html文件将包含自动渲染的路由。

改进的装饰器错误信息

由编译器产生的诊断已经获得了明显的改善,特别是当装饰器包含不支持或不正确的表达式的时候。

例如:调用一个函数来处理模板是不支持的。

@Component({
  template: genTemplate()
})

复制代码

这是之前会产生的错误:

Error encountered resolving symbol values statically. Calling functiongenTemplate’, function calls are not supported. Consider replacing the function or lambda with a reference to an exported function, resolving symbol MyComponent in components.ts, resolving symbol MyComponent in components.ts 复制代码

这个错误已经获得改善,并澄清了问题的来源和性质。

component.ts(9,16): Error during template compile of 'MyComponent'.
  Function calls are not supported in decorators but 'genTemplate' was called.
复制代码

支持TypeScript 2.5

咱们已经添加了TypeScript 2.5的支持,这是全部的开发人员推荐的。这个TypeScript版本包含了几个有用的高级功能。

你能够升级你的Typescript经过yarn add typescript@'~2.5.3'或者npm install typescript@'~2.5.3'

这个更新是可选的,TypeScript 2.4继续支持Angular 5.X咱们还不支持TypeScript 2.6。咱们的计划实在将来的次版本中添加支持。

重要提示:若是你的代码使用injector.get(Token),Token有静态成员,那么你将遇到TypeScript的问题,返回的类型是{}而不是Token。你可使用Injector.get(Token)来得到争取的返回值。

原文地址:https://blog.angular.io/angular-5-1-more-now-available-27d372f5eb4e

相关文章
相关标签/搜索