首页 > 解决方案 > Shiny App的变化不停

问题描述

我看到一些录制的 Rstudio 网络研讨会,其中演示者对闪亮的应用程序代码进行了一些更改并刷新页面,它会自动反映应用程序中的更改。我想知道它是如何完成的。我必须手动停止应用程序并重新运行它以反映我在应用程序中所做的更改。如何不停止应用程序并且仍然通过刷新页面在应用程序中反映更改。

标签: rshiny

解决方案


您需要小心进行这些实时更新,我的 2 美分是:

  • 您可以在ui.Rand中进行这些更改server.R,然后保存它,当您重新加载会话(简单重新加载)时,它应该会自动获取您刚刚所做的更改
  • 您可能有打开的活动会话,这些会话依赖于以前的ui.Rserver.R. 这很可能会导致某种错误(很可能是指针错误),因为它试图引用的对象已更改并且不再存在
  • 通常,许多人使用shiny动态更改以在其本地机器上测试系统,在生产中这是另一回事,因为您必须担心诸如nginxor之类的其他事情apache,而这些解决起来非常麻烦。最终,您可能需要杀死pid应用程序,这并不总是可取的
  • 请注意,有些人建议执行类似于touch restart.txt该文件(一个空文件)与应用程序位于同一位置dir的操作。这原则上应该可行,但是您可能再次遇到错误,因为应用程序很可能已缓存或打开,您将无法访问server.R不再存在的对象,您可以在此处阅读更多信息
  • 如果您确实想即时进行更改,我建议您重新加载所有活动会话或重新启动应用程序,使用stopApp()

我希望它有点意义


推荐阅读