我对部署 tns 命令有疑问。
即使在阅读了文档和 tns --help
之后,我仍然不清楚。那么,我们开始吧:
- 为什么
--watch
对于livesync
是必须的,这不就是直播同步的目的吗? - 有什么理由或情况让我更喜欢
livesync
而不是run --watch
或debug --watch
? - 什么时候需要
--emulator
?只能调用ios模拟器和android官方模拟器?我一直在使用 genymotion,所以我假设它假装它是一个真实的设备。它总是正确的吗?我应该考虑其他任何“假冒”真实设备吗? - 我在哪里/如何检查设备/模拟器中到底发生了什么?我的意思是,我的印象是
livesync
只部署更改,后续的run
不会做同样的事情? - 什么样的更改需要在设备/模拟器上进行全面部署?我的意思是,在点击
livesync
、run
或debug
之前完成卸载
- 什么样的变化需要对整个平台进行重建?删除并
tns 平台添加
? 很抱歉提出这么多问题,但恕我直言,这个主题值得一篇更详细的文章。
最佳答案
--watch
启用重复出现的 liveSync。没有--watch
它只是同步一次就完成了。实际上,不使用--watch
可能毫无意义;但在某些情况下,您可能只希望它 liveSync 一次。run --watch
=livesync --watch
run
(w/o --watch) !=实时同步
--emulator
将允许 TNS 实际启动模拟器,但是如果 Android 模拟器已经启动,则不需要它,因为 android Emulator 显示为“真正的”android设备。 iOS 需要--emulator
才能强制其使用模拟器。据我所知,没有办法真正知道发生了什么,
--watch
或livesync
只报告同步文件;它不会给你一个列表。使用
run
的原因是,如果您更改app_resources/
文件夹中的任何内容和/或添加/修改插件(node_modules 中的任何内容) ).两者都需要完全重建。请注意执行tns run --watch
不会进行重建;它只会同步。您需要执行tns run
然后在它重建并安装新版本后,您可以执行--watch
您通常不必删除/重新添加平台,但有一些奇怪的极端情况,其中
tns run
或者您从设备上删除应用程序然后执行tns run
似乎没有接收到您的更改。这更像是最后的修复。在 iOS 上,如果您更新插件并更新 POD,这是您应该重置平台文件夹的情况之一。
有一件事我需要强调; tns run --watch
=== tns livesync --watch
;这意味着即使您认为您正在执行 tns run
,但如果您将 --watch
添加到它,您实际上并没有这样做。我确实有一个错误报告;但从 v2.4 开始,它仍然令人讨厌/欺骗性地损坏......
关于android - Nativescript tns 部署命令,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41189446/