【问题标题】:R-Shiny debug modeR-Shiny 调试模式
【发布时间】:2020-03-12 14:48:43
【问题描述】:

R-Shiny 中的调试模式相当于 plotly-dash (Python) 中使用的调试模式,即使用 Dash 运行应用程序时,我们执行以下操作:app.run_server(debug=True)强>。这样,当应用程序在主机上运行时,源代码中的任何修改都会反映在打开的网页中。 在 R-Shiny 中运行应用程序时是否有这样的等价物?

【问题讨论】:

  • 我不这么认为,不是自动的。如果您在单独的.R 文件中有函数并且这就是您需要更新的内容,那么您可以在.R 文件和source(..., local=env) 上使用shiny::reactiveFileReader,其中env 是最初加载代码的环境。如果您需要更新闪亮应用程序本身的uiserver,...我相信您不走运。
  • @r2evans 请查看选项shiny.autoreloadIf TRUE when a Shiny app is launched, the app directory will be continually monitored for changes to files that have the extensions: r, htm, html, js, css, png, jpg, jpeg, gif. If any changes are detected, all connected Shiny sessions are reloaded. This allows for fast feedback loops when tweaking Shiny UI.
  • 这对我来说是个新闻!谢谢@ismirsehregal!这实际上会在开发过程中为我节省一些精力。 (SK_33,虽然我的第一条评论信息不足,但我会保留它,因为我相信该建议在其他情况下可能仍然有用。)
  • 这个功能从 Shiny 0.13.0 开始就存在(发布日期:2016-01-20) - 干杯
  • 哈哈,感谢现实和羞辱的一记耳光,您本可以更进一步链接到添加它的提交 ;-) ...(TBH,基础 R 中有一些函数已经存在了几十年,我仍然在寻找......)(我确实不需要需要相关提交的链接......只是很有趣。)

标签: python r shiny shinydashboard plotly-dash


【解决方案1】:

如 cmets 中所述,您需要做的就是设置全局选项 shiny.autoreload

这里有一个非常简单的例子来说明如何使用它:

library(shiny)

options(shiny.autoreload = TRUE) # also check shiny.reactlog and shiny.trace for debugging

ui <- fluidPage(
    sliderInput(inputId = "mySlider", label = "my super useful Slider", min = 0, max = 10, value = 20)
)

server <- function(input, output, session) {}

shinyApp(ui, server)

有关类似闪亮选项的概述,请参阅article

【讨论】:

    猜你喜欢
    • 2016-04-15
    • 1970-01-01
    • 2021-05-14
    • 2017-10-19
    • 2021-12-13
    • 2020-07-29
    • 2015-09-25
    • 1970-01-01
    • 2017-11-15
    相关资源
    最近更新 更多