# NativeScript 现在支持 Angular 8

·

上周,Angular 团队发布了全新的 Angular 8,今天我们很高兴地宣布 NativeScript 现在支持此最新更新。

# Angular 8 有什么新功能?

Angular 8 带来了许多内部变化,并且是将来 Ivy 实现的垫脚石,使其成为 Angular 历史上的重要里程碑。有关所有更改的完整列表,请阅读此博客文章。

# 常春藤,角的未来

在 Angular 8.0.0 中,Angular 团队提供了一个包含 Ivy 的框架,该框架包含一个实验性可选标志,enableIvy您可以在该标志中进行设置angularCompilerOptions。在此版本中,启用 Ivy 的好处并不大,因为其当前的实现状态。长话短说,当前的 NativeScript 插件未以适当的格式(APF)发布,这意味着 Ivy 的摇树功能是不可能的。NativeScript 团队与 Angular 团队在 Ivy 实施方面紧密合作,我们希望能够在它准备就绪并可用时为其提供第一天的支持。敬请关注!

TIP

请查看本文以获取有关 Ivy 的更多信息。

# 从 7.xx 升级到 8.0.0

让我们看一下如何更新 NativeScript-Angular 应用以利用这些优化:

本机角度依赖性更改

为了将项目更新到最新的 Angular 8.0.0,您只需执行以下简单步骤:

  • 安装最新的nativescript-angular插件,npm i nativescript-angular@latest --save然后运行软件包随附的自动更新依赖项脚本./node_modules/.bin/update-app-ng-deps
  • 安装最新的nativescript-dev-webpack软件包npm i nativescript-dev-webpack@latest --save-dev并运行该软件包随附的自动更新依赖项脚本./node_modules/.bin/update-ns-webpack --deps --configs(请注意,–configs 将会更新webpack.config.js,建议使用的每个新版本更新该配置,nativescript-dev-webpack但如有必要,可以将其删除)。
  • 安装最新的nativescript-dev-typescript软件包npm i nativescript-dev-typescript@latest

您快完成了!剩下的唯一一件事就是检查您的项目是否需要迁移我们的变更日志中描述的任何重大更改。您可以使用触发项目的 TypeScript 编译来找出答案tsc。如果幸运的话,终端不会显示任何错误,并且很高兴知道您已准备好开始使用 Angular 8.0.0。如果您发现任何有关错误的信息,ViewChild只需遵循以下迁移示例。

以前@ViewChild 使用单一参数的任何地方,现在都必须提供第二个参数,并将其 static 属性设置为 true 或 false

先前的代码:

import { ElementRef } from "@angular/core";
@ViewChild("myElement") myElement: ElementRef;

迁移的代码:

import { ElementRef } from "@angular/core";
@ViewChild("myElement", { static: false }) myElement: ElementRef;

# 已知的问题

目前,我们知道它@nativescript/schematics不适用于 Angular 8.0.0。我们正在积极进行更新!

# 最后说明

@angular/http软件包已被弃用,我们计划在的将来版本中将其完全删除nativescript-angular

对于大多数用户而言,升级到 Angular 8 应该是无缝的。您可以参考我们的变更日志以获取已发生变更的完整列表,如果遇到问题,请在问题跟踪器上告知我们。

您也可以在评论中随时告诉我们您对最新 Angular 更新的看法。