我已经开始维护一个大约3000个代码行的Rshiny包。我想概述一下触发server.R文件中的内容。
是否有机会以简洁的方式生成反应性触发依赖图?
答案 0 :(得分:6)
这可能对你很有意思:https://www.r-bloggers.com/announcing-shinytester-a-package-that-helps-you-build-shiny-apps/
答案 1 :(得分:5)
有一个闪亮的"反应式日志可视化器"内置有光泽。它以递增方式构建图形,显示各种反应节点如何相互依赖。运行后的输出如下所示:
有关使用此工具的说明,请访问:Reactive Log Visualizer
以下是关于此工具的说明:
options(shiny.reactlog = TRUE)
Ctrl-F3
(或Apple上的Command-F3
)启用日志可视化工具答案 2 :(得分:5)
反应式日志可视化工具是一个功能强大的工具,但遗憾的是,随着@Mike Wise指出,大型应用程序无法很好地扩展。前段时间我在rstudio/shiny#1846和rstudio/shiny#1532中阅读了一些改进调试体验的有趣想法,并开始探索实现它们的方法。
在这里和那里(summary)磕磕绊绊之后,我发现执行此操作的最佳方法是解析原始反应日志并从中构建依赖关系图。
https://github.com/glin/reactlog的套餐。两个主要特征是:
显示触发失效的调用堆栈
observe({
reactlog::traceInvalidation()
rx()
})
4: observe({
reactlog::traceInvalidation()
rx()
})
3: rx [<text>#7]
2: val => num 10
1: observe(val(10))
并在树视图中列出反应依赖项
observe({
reactlog::listDependencies()
rxA() + rxB() + rxAB()
}, label = "obs")
obs*
+-- rxA*
| `-- valA*
+-- rxB
| `-- valB
`-- rxAB*
+-- valA*
`-- valB
树视图可能对查看多个依赖项是否无效(星号表示失效或更改)特别有用。