Angular小博客

分享让你更聪明

[译2017]Angular 5.1 及更多版本现已推出

浏览:3次 日期:2024年10月18日 8:20:56 作者:admin

我们很高兴地宣布 Angular 5.1.0 版本。这是一个次要版本,包含几个较小的功能和错误修复。我们还发布了 Angular CLI v1.6,以及 Angular Material 的第一个稳定版本。

更新了什么?

有关功能和错误修复的完整列表,请参阅Angular 、 MaterialCLI变更日志。

Angular Material & CDK 稳定版本

经过 11 个 alpha 版本、12 个 beta 版本和 3 个候选版本之后,我们很高兴现在迎来 Angular Material 和 Angular CDK 的完整 5.0.0 版本,以及 CDK 从 Angular Labs 毕业。 Angular Material 基于 Google 的Material Design视觉语言,为您的 Angular 应用程序提供了 30 个 UI 组件。同时,Angular CDK(组件开发工具包)提供了一组构建块来帮助您构建自己的自定义组件,而无需重新解决常见问题。这些组件已被许多 Google 应用程序用于生产,包括 Google Analytics Suite、 Google Cloud Platform Developer ConsoleGoogle Shopping Express 。

从这个版本开始,Angular Material 将遵循与 Angular 相同的 SemVer 理念,Angular Material 和 Angular CDK 的主要版本与平台其余部分的主要版本同时发布。补丁版本将按照每周的节奏发布,而次要功能版本将在功能完成后发布。

请访问Material.Angular.io以获取文档、演示和我们的入门指南。您还可以在 GitHub 上关注我们的进展,因为我们将继续对库进行进一步的补充。在接下来的几个月中,请密切关注新的 mat-tree、虚拟滚动、组件测试工具和拖放助手等功能。

CLI 1.6 Service Worker 支持

性能一直是 Web 开发人员的重要目标,在当今 WiFi 和移动连接不稳定的世界中尤其重要。现代浏览器有一个新的 API,用于构建可靠且快速加载的网站,称为Service Worker API 。

Angular 5.0.0 附带了专为 Angular 应用程序定制的新 Service Worker 实现,Angular CLI 1.6 支持构建利用此新功能的应用程序。使用@angular/service-worker可以提高应用程序在支持 API 的浏览器中的加载性能,并使应用程序的加载体验更像原生安装的应用程序。

在我们的文档网站上了解如何开始使用 Angular Service Worker 。

CLI 1.6 改进了通用和 App Shell 支持

此外,随着 Angular CLI 1.6 的发布,还可以更好地支持通过 Schematics 将 Universal 添加到现有项目,并带来App Shell支持。

Angular通用

要在当前 CLI 应用程序中添加 Universal,您现在可以在项目中使用以下命令:

ng generate universal <name>

<name>替换为您想要为通用应用程序指定的名称。这将获取您当前的应用程序并创建一个通用模块,并自动为您配置angular-cli.json文件。然后,您可以跳到我们的通用使用指南中的步骤 4。

要构建通用应用程序,只需运行以下命令:

ng build --app=<name>

App Shell 应用程序外壳

添加的另一个功能是App Shell支持;您现在可以生成并构建一个应用程序 shell,它使用特殊的通用构建在index.html中创建应用程序的静态首次渲染。这可以在引导应用程序时为用户提供更好的体验。

首先,确保您的应用程序的NgModule中导入了RouterModule ,并且 <router-outlet></router-outlet> 在您的应用程序组件的模板中。 App Shell 使用路由器来渲染您的应用程序。

然后运行以下命令:

ng generate app-shell [ --universal-app <universal-app-name>] [ --route <route>]

这将使用传入参数的通用应用程序向您的angular-cli.json主应用程序添加对应用程序 shell 的支持。如果没有传入通用应用程序,它将首先通过运行通用原理图来创建通用应用程序。路由参数指定在构建期间生成的路由(App Shell 支持需要路由器)。默认情况下这是/shell 。

完成此步骤后,只需使用ng build正常构建您的应用程序, index.html文件将包含自动为您呈现的应用程序的路由。

改进了装饰器错误消息

编译器生成的诊断已得到显着改进,特别是当装饰器包含不受支持或不正确的表达式时。

例如,不支持调用函数来生成模板:

@Component({
template: genTemplate()
})
export class MyComponent {}

以前这会产生错误:

Error encountered resolving symbol values statically. Calling function ‘genTemplate’, 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包含几个有用的高级功能

您可以通过运行yarn add typescript@'~2.5.3'来升级TypeScript 或 npm install typescript@'~2.5.3' 。

此更新是可选的,Angular 5.xx 继续支持 TypeScript 2.4 我们尚不支持 TypeScript 2.6。我们的计划是在未来的次要版本中添加支持。

重要提示:如果您的代码使用Injector.get(Token) (其中Token具有静态成员),您将遇到TypeScript 的问题,其中返回的类型是{}而不是Token 。您可以改为使用Injector.get<Token>(Token)来获取正确的返回类型。

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

注意:这是历史文章翻译。