设备上的 nativescript livereload

Posted

技术标签:

【中文标题】设备上的 nativescript livereload【英文标题】:nativescript livereload on device 【发布时间】:2016-09-17 00:12:54 【问题描述】:

我正在使用 https://github.com/NathanWalker/angular2-seed-advanced 创建一个正在运行的 nativescript 应用程序。

现在,我是 nativescript 的初学者,想问一下,我如何才能实现良好的开发流程。

我来自 ionic,在那里我能够在我的开发机器上看到控制台输出,并且能够在有线连接的设备上实时测试我的应用程序。实时重新加载也在运行。

所以我的问题:

    我可以在设备上运行我的应用程序而不将其发布到商店 我可以在本地开发机器上使用 adb 或 nativescript cli 命令以某种方式查看 console.log 输出吗? 是否可以实时重新加载开发原生脚本应用程序?

提前谢谢你!

【问题讨论】:

【参考方案1】:

    您可以将应用程序安装到您自己的 android / ios 真实设备和/或 iOS 模拟器和 Android 模拟器上,而无需将其发送到任何商店。

    您可以正常查看日志,通常当您执行 tns run [ios|android] 时,日志会返回到您的控制台。您还可以运行标准的 adb logcat (android) 或 idevicesyslog(适用于 iOS,如果已安装)

    可以进行实时重新加载,并且效果很好。您可以使用 tns 命令行中内置的 tns run [android|ios]

【讨论】:

您将如何与 MS Code 进行实时同步和调试?我试图让这个工作,这样每次我在没有运气的情况下进行更改时都不需要 3-5 分钟来构建。没有它,开发速度非常缓慢。 对不起;我不使用 MS VCode;我在 Android 上使用 phpStorm 和我自己的 LiveEdit 插件进行大部分开发。【参考方案2】:
    是的 是的

    是的

    tns livesync android --watch

【讨论】:

【参考方案3】:

所有三个问题的答案都是肯定的(正如另一个答案所指出的那样)。要添加到问题 3 的答案, 从 nativescript 2.5.0 版开始,tns runtns livesync 做同样的事情,tns run 能够应用更改并将其同步到设备/模拟器上正在运行的应用程序。控制台上的消息清楚地表明tns livesync 已被弃用,因此您应该始终使用tns run

【讨论】:

【参考方案4】:

以下是在使用 NathanWalker -angular-seed-advanced 时以实时同步模式与设备运行应用程序的最新选项(截至 2018 年 1 月)。

iOS (device):   npm run start.ios.device --debug
Android (device):  npm run start.android.device --debug

--debug 选项将从设备中提取更多日志(不仅适用于您的应用,还适用于其他活动)

查看最新的doc here 以获得最新的命令,

您也可以按照here 的说明使用 adb,

【讨论】:

那些投反对票,但懒得添加评论解释原因的人,请长大!严重地。不要破坏某人通过回答来提供帮助的努力。当用评论解释时,投反对票是完全可以的,因此答案可以得到纠正,或者至少让读者知道为什么要避免。 关于这个具体答案,请参阅提供的链接中的文档。这些是截至提到日期要使用的确切命令(当使用问题中提到的种子项目时),这没有反映在旧答案中,所以我用日期添加了这个答案。

以上是关于设备上的 nativescript livereload的主要内容,如果未能解决你的问题,请参考以下文章

设备上的 Nativescript iOS 应用程序分析

nativescript 图像选择器不工作

Nativescript 在设备 IOS 上运行 - dyld 库未加载 @rpath/Nativescript.framework

Nativescript + Vue:同步只能在设备和模拟器上第一次工作

NativeScript 3.4:iOS 上的 WebView 性能缓慢

Nativescript iOS 在设备上构建/运行失败