我对部署tns命令有疑问。
即使在阅读了文档和tns --help
后,事情仍然不清楚。所以,我们走了:
--watch
为什么需要livesync
,这不是实时同步的目的吗?livesync
优先于run --watch
或debug --watch
?--emulator
?只调用ios模拟器和android官方模拟器?我一直在使用genymotion,所以我认为它假装它是一个真正的设备。总是正确的吗?任何其他"假的"我应该考虑的真实设备?livesync
只会进行更改,后续的run
也不会这样做吗?livesync
,run
或debug
tns platform add
回来?
很抱歉这么多问题,但imho这个话题值得一篇更详细的文章。答案 0 :(得分:4)
--watch
启用重新发生的liveSync。如果没有--watch
,只需将其同步一次即可完成。总而言之,不使用--watch
可能毫无意义;但是在某些情况下你可能只需要一次liveSync。
run --watch
= livesync --watch
run
(没有 - 观察)!= livesync
--emulator
将允许TNS实际启动模拟器,但是如果Android模拟器已经启动,则不需要它作为Android模拟器显示为“真正的”Android设备。需要iOS --emulator
来强制它使用模拟器。
我不知道真正知道发生了什么,--watch
或livesync
仅报告同步文件;它没有给你一个清单。
使用run
的原因是,如果您更改app_resources/
文件夹中的ANYTHING和/或添加/修改插件(node_modules中的任何内容)。这两个都需要完全重建。请注意,执行tns run --watch
不会进行重建;它会同步。您需要执行tns run
,然后在重建并安装新版本后,您可以执行--watch
您不应该正常删除/重新添加平台,但有一些奇怪的角落案例,tns run
或您从设备上删除应用程序然后执行{{1似乎没有接受你的更改。这是最后一次修复。在iOS上,如果您更新插件并更新POD,则应该重置平台文件夹。
我需要强调一件事; tns run
=== tns run --watch
;这意味着,即使您认为自己正在进行tns livesync --watch
,但如果您将tns run
添加到其中,则不是。我确实有一个错误报告;但是从v2.4开始,它仍然令人烦恼/欺骗性地被打破......