Shiny 使用source'时重新加载闪亮的应用程序;无需重新启动即可重新启动模块

Shiny 使用source'时重新加载闪亮的应用程序;无需重新启动即可重新启动模块,shiny,rstudio,Shiny,Rstudio,我一直在开发一个闪亮的应用程序,它开始变得相当大。 我已经解决了这个问题,将应用程序的不同部分放入各自文件中的模块中,然后将文件来源化 问题是,当我在源文件的服务器部分(以下示例中的events.R,eventsTabItems()函数)中进行更改时,我必须停止并启动App I R-Studio,而不仅仅是在浏览器中点击F5 有办法解决这个问题吗?我必须把所有东西都包装成反应函数吗 代码示例: 用户界面 服务器.R source("./sections/events.R") callModule

我一直在开发一个闪亮的应用程序,它开始变得相当大。 我已经解决了这个问题,将应用程序的不同部分放入各自文件中的模块中,然后将文件来源化

问题是,当我在源文件的服务器部分(以下示例中的events.R,eventsTabItems()函数)中进行更改时,我必须停止并启动App I R-Studio,而不仅仅是在浏览器中点击F5

有办法解决这个问题吗?我必须把所有东西都包装成反应函数吗

代码示例:

用户界面

服务器.R

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

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

eventsTabItemsUI我发现每当编辑模块时,在重新启动服务器之前(使用“运行应用程序”按钮)停止服务器是必要的。如果您编辑的.js文件(在www/folder中)中有javascript代码,则可能需要强制刷新浏览器以确保它重新加载已编辑的代码

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


我不再这样做:

您可以将包设置为强制删除函数

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

肯特,你有什么解决办法吗?我也面临同样的问题。德!
suppressWarnings(rm("eventsTabItemsUI","eventsTabItems"))