使用源代码模块时重新加载Shiny App而不重启

时间:2018-05-04 07:52:04

标签: shiny rstudio

我一直在开发一款起源相当大的Shiny App。 我通过将应用程序的不同部分放入他们自己的文件中的模块中来解决问题,然后获取文件。

问题在于,当我在源文件的服务器部分进行更改时(下面的例子中的events.R,eventsTabItems()函数),我必须停止并启动App i R-Studio而不是只需在浏览器中点击F5即可。

有解决方法吗?我是否必须将所有东西都包裹起来?

代码示例:

ui.R

source("./sections/events.R")
eventsTabItemsUI(id = "events")

server.R

source("./sections/events.R")
callModule(eventsTabItems, id = "events")

events.R

eventsTabItemsUI <- function(id) { 
  ns <- NS(id)
  tabItem(ns(example))
} 
eventsTabItems <- function(input, output, session) {
  output@example <- ...
}

1 个答案:

答案 0 :(得分:0)

我发现在编辑模块时,必须先重新启动服务器(使用“ Run App”按钮),然后停止服务器。如果您已经编辑了自己的.js文件(在www /文件夹中)中的javascript代码,则可能需要强制刷新浏览器以确保其重新加载已编辑的代码。

此答案仍是实验性的,因此我可能错过了一些内容。每当我真正想确保编辑没有破坏我的代码时,我都会对程序中的字符串进行一些较小的编辑,然后观察它们显示在GUI中,以确保我真正在运行当前版本的代码。


我不再这样做:

您可以设置软件包以强制删除功能。

suppressWarnings(rm("eventsTabItemsUI","eventsTabItems"))