返回博客首页
← 所有文章

我已将我的应用更新到 3.0 版本,你也快来更新吧!

2017 年 5 月 11 日 — 作者 Jen Looper

这是一篇激励性文章,旨在帮助你做好准备,将你的 NativeScript 应用更新到 3.0 版本!你一定可以做到!

motivation-no1

没错。读完这篇文章后,你就会迫不及待地去更新你的应用。我将向你展示我是如何做到的,这样你就不用再坐在角落里唉声叹气,希望别人能打开 CLI 帮你完成更新了。

启动引擎。

好的,以下是如何更新你的应用。首先,如果你的项目是基于 TypeScript 的,请编辑你的 tsconfig.json 文件,以参考 ES6 和 DOM 库,具体说明请参见 此处

然后,将 CLI 更新 到最新版本,即 NativeScript CLI。你知道迟早都要更新的,所以现在就动手吧!运行 npm install -g nativescript,然后运行 tns info 确保一切更新正常。

not-a-runner-now-you-are

更新 CLI 后,你需要访问你的应用的 package.json 文件,其中列出了所有依赖项。我决定先将我的 QuickNoms 应用(一个 Angular 应用)从 2.4.x 更新到 3.0 的发布候选版本,因此我对 package.json 做了以下更改。


1

然后,当 3.0 正式版发布后,我就可以从该 RC 版本迁移到最终版本。请注意,“nativescript-angular”、“tns-core-modules”和“tns-android/ios”包都发生了变化。确保更新你使用的插件的版本。在我的例子中,fonticons、firebase 和 text-to-speech 的版本都需要更改。最终更新后,此文件如下所示

2

此时,我建议删除 platforms、node_modules 和 hooks 文件夹,并通过运行 tns run iostns run android 重新安装包。

如果你非常幸运,这可能是你唯一需要做的事情。

angels

嗯,准备些小点心吧,因为你可能还需要做更多工作。如果某些内容不向后兼容,该怎么办?打开 迁移指南 并逐步修复你的应用。

在我的例子中,SegmentedBar 模块需要一些更改才能构建分段。最初,选项卡的内联颜色也没有应用,但此错误已修复。

3

对于这个应用,这就完成了!我的关键帧动画可以正常工作,最重要的是,我的插件开箱即用。还好我知道自己在做什么。

yogi-berra-quote

让我们简单谈谈 插件。3.0 版本发布意味着你的友好社区插件作者需要对一些更偏向 UI 的插件进行 一些更新 才能使其正常工作。幸运的是,我使用的三个插件都没有出现任何问题。但是,你可能正在使用尚未更新的插件。那么,你有一些选择

  1. 如果你发现问题,请通过插件的 Github 仓库联系插件作者。与这个人沟通,了解升级计划。
  2. 如果你有能力,请在插件上提交 PR 来自己更新插件!然后告诉我,如果 PR 被接受,我会送你一件 T 恤。
  3. 论坛 或 NativeScript 社区 Slack 的 #update 频道寻求社区帮助。
你完成更新了吗?一切顺利吗?

whos-awesome-youre-awesome

在评论中分享你的更新故事!顺便说一句,以下是最终的 QuickNoms 应用外观

Screenshot 2017-05-08 14.34.04