Nativescript tns 部署命令
Nativescript tns deployment commands
我对部署 tns 命令有疑问。
即使在阅读了文档和 tns --help
之后,我仍然不清楚。那么,我们开始吧:
- 为什么
livesync
需要--watch
,不就是直播同步的目的吗?
- 有什么理由或情况我更喜欢
livesync
而不是 run --watch
或 debug --watch
?
- 什么时候需要
--emulator
?只能调用ios模拟器和android官方模拟器?我一直在使用 genymotion,所以我假设它假装它是一个真实的设备。它总是正确的吗?还有其他 "fake" 我应该考虑的真实设备吗?
- Where/how 我可以检查 device/emulator 中到底发生了什么吗?我的意思是,我的印象是
livesync
只部署更改,随后的 run
不做同样的事情?
- 什么样的更改需要在 device/emulator 上进行完整部署?我的意思是,在点击
livesync
、run
或 debug
之前完成卸载
- 什么样的更改需要完整的平台重建?移除并
tns platform add
返回?
很抱歉问了这么多问题,但恕我直言,这个主题值得一篇更详细的文章。
--watch
启用重新出现的 liveSync。没有 --watch
它只同步一次就完成了。实际上,不使用 --watch
可能毫无意义;但在某些情况下,您可能只希望它 liveSync 一次。
run --watch
= livesync --watch
run
(w/o --watch) != livesync
--emulator
将允许 TNS 实际启动模拟器,但是如果 Android 模拟器已经启动,则不需要它,因为 android 模拟器显示作为 "real" android 设备。 --emulator
for iOS 需要强制它使用模拟器。
我不知道真正知道发生了什么,--watch
或 livesync
只报告它同步了文件;它没有给你一个列表。
使用 run
的原因是如果您更改 app_resources/
文件夹中的任何内容 AND/OR add/modify 一个插件(任何在node_modules)。两者都需要完全重建。请注意,执行 tns run --watch
不会进行重建;它只会同步。您需要执行 tns run
然后在重建并安装新版本后,您可以执行 --watch
您通常不必 remove/re-add 平台,但有一些奇怪的极端情况 tns run
或者您从设备上删除应用程序然后执行a tns run
似乎没有接受您的更改。这更像是最后的修复。 iOS 如果您更新插件并更新 POD,这是您应该重置平台文件夹的情况之一。
有一件事我需要强调; tns run --watch
=== tns livesync --watch
;这意味着,即使您认为自己在做 tns run
,但如果您向其中添加 --watch
,实际上并没有。我确实有一个错误报告;但从 v2.4 开始,它仍然 annoyingly/deceptively 损坏...
我对部署 tns 命令有疑问。
即使在阅读了文档和 tns --help
之后,我仍然不清楚。那么,我们开始吧:
- 为什么
livesync
需要--watch
,不就是直播同步的目的吗? - 有什么理由或情况我更喜欢
livesync
而不是run --watch
或debug --watch
? - 什么时候需要
--emulator
?只能调用ios模拟器和android官方模拟器?我一直在使用 genymotion,所以我假设它假装它是一个真实的设备。它总是正确的吗?还有其他 "fake" 我应该考虑的真实设备吗? - Where/how 我可以检查 device/emulator 中到底发生了什么吗?我的意思是,我的印象是
livesync
只部署更改,随后的run
不做同样的事情? - 什么样的更改需要在 device/emulator 上进行完整部署?我的意思是,在点击
livesync
、run
或debug
之前完成卸载
- 什么样的更改需要完整的平台重建?移除并
tns platform add
返回? 很抱歉问了这么多问题,但恕我直言,这个主题值得一篇更详细的文章。
--watch
启用重新出现的 liveSync。没有--watch
它只同步一次就完成了。实际上,不使用--watch
可能毫无意义;但在某些情况下,您可能只希望它 liveSync 一次。run --watch
=livesync --watch
run
(w/o --watch) !=livesync
--emulator
将允许 TNS 实际启动模拟器,但是如果 Android 模拟器已经启动,则不需要它,因为 android 模拟器显示作为 "real" android 设备。--emulator
for iOS 需要强制它使用模拟器。我不知道真正知道发生了什么,
--watch
或livesync
只报告它同步了文件;它没有给你一个列表。使用
run
的原因是如果您更改app_resources/
文件夹中的任何内容 AND/OR add/modify 一个插件(任何在node_modules)。两者都需要完全重建。请注意,执行tns run --watch
不会进行重建;它只会同步。您需要执行tns run
然后在重建并安装新版本后,您可以执行--watch
您通常不必 remove/re-add 平台,但有一些奇怪的极端情况
tns run
或者您从设备上删除应用程序然后执行atns run
似乎没有接受您的更改。这更像是最后的修复。 iOS 如果您更新插件并更新 POD,这是您应该重置平台文件夹的情况之一。
有一件事我需要强调; tns run --watch
=== tns livesync --watch
;这意味着,即使您认为自己在做 tns run
,但如果您向其中添加 --watch
,实际上并没有。我确实有一个错误报告;但从 v2.4 开始,它仍然 annoyingly/deceptively 损坏...