我们非常兴奋地宣布 NativeScript 3.0 发布候选版本现已发布!这是项目和团队的一个重要里程碑——他们在原型设计、实施和稳定新功能方面付出了艰辛的努力。正如您可能已经在这篇文章中读到,3.0 版本引入了许多性能改进和一些重大变更。我们相信,每个引入的变更都使 NativeScript 框架更加稳定、更有价值,并且性能更佳。
为了简化迁移路径,我们准备了一份全面文档来解释这些变更,为什么需要它们,以及它们带来的价值。我们还编制了一份完整的迁移指南,它将帮助您将应用程序升级到 3.0。
以下是 3.0 RC 中包含内容的概述。
livesync
命令被移除,取而代之的是 tns run
,它现在自动执行 livesync --watch
;plugin find/search
命令被移除,因为它没有被使用;emulate
命令现在已弃用,其功能已通过 run
命令及其 --emulate
选项公开;run --device <设备标识符>
命令现在将在尚未启动的情况下启动模拟器。在 3.0 之前,--device
选项仅适用于物理设备。您可以从 npm 安装新的 NativeScript 包(在 RC 标签后面)
npm install -g nativescript@rc
您可以基于新的 3.0 模板创建新项目
tns create MyApp --template tns-template-hello-world@rc
tns create MyApp --template tns-template-hello-world-ts@rc
tns create MyApp --template tns-template-hello-world-ng@rc
这些命令将创建一个项目,并将添加 3.0 RC tns-core-modules@rc
。
此时,您可以添加您要定位的平台的 RC 部分
tns platform add android@rc
和 tns platform add ios@rc
就是这样! 现在,您可以使用 tns run <平台名称>
启动项目。
为了更新现有项目,您将必须更新应用程序的 tns-core-modules
和平台
tns plugin remove tns-core-modules
tns plugin add tns-core-modules@rc
tns platform remove <platform-name>
tns platform add <platform-name>@rc
对于 TypeScript 和 Angular 应用程序,您还应更新 TypeScript 插件
npm uninstall nativescript-dev-typescript --save-dev
npm uninstall typescript --save-dev
npm install [email protected] --save-dev
最后,对于 Angular 项目,您需要执行以下操作
1) 更新 nativescript-angular
插件
tns plugin remove nativescript-angular
tns plugin add nativescript-angular@rc
2) 更新到 Angular 4,打开项目的 package.json
文件并将各种 Angular 包更新到 4.0.0。此外,zone.js
依赖项现在应该列为依赖项而不是开发依赖项,并更新到 0.8.2。
因此,您的 package.json
应该如下所示
"dependencies": {
"nativescript-theme-core": "~1.0.2",
"nativescript-angular": "rc",
"tns-core-modules": "rc",
"@angular/animations": "4.0.0",
"@angular/core": "4.0.0",
"@angular/common": "4.0.0",
"@angular/compiler": "4.0.0",
"@angular/http": "4.0.0",
"@angular/platform-browser": "4.0.0",
"@angular/platform-browser-dynamic": "4.0.0",
"@angular/forms": "4.0.0",
"@angular/router": "4.0.0",
"rxjs": "~5.2.0",
"reflect-metadata": "~0.1.8",
"zone.js": "~0.8.2"
},
"devDependencies": {
"typescript": "~2.2.1",
"nativescript-dev-typescript": "~0.4.0",
"nativescript-dev-android-snapshot": "^0.*.*"
}
团队目前正在修复一些已知限制。但是,我们希望今天发布这些新功能,因为我们认为它们足够稳定,可以进行早期实验。以下是我们知道的限制
--syncAllFiles
选项我们计划在解决这些问题后发布新的 RC 版本。 在正式发布之前,我们可能会有多个 RC 版本,以确保尽快解决关键问题,而不是迫使我们的用户等待 4 周才能修复问题!
请告知我们您发现的此发布候选版本中的任何问题,以便我们可以在正式发布之前解决它们。
虽然我们相信只有所有现有NativeScript 插件中的一个小部分会受到这些变更的影响(主要是提供自定义 UI 的那些插件),但我们确实希望确保尽快识别和修复问题!
我们计划将 2017 年 4 月 26 日 定为正式的 3.0 版本发布日期。在 RC 和正式发布日期之间的 4 周时间内,我们将致力于修复可能出现的任何问题,帮助作者将其插件迁移到 3.0,以及更新文档和入门材料。