我试图让一个闪亮的反应用户界面运行。它变得相当复杂(就代码行而言),所以我认为重构是一个好主意。把它总之,这是我的服务器代码:闪亮的反应用户界面没有运行服务器代码
require(ggplot2)
require(h2o)
shinyServer(function(input, output, session) {
#stop()
localH2o <<- h2o.init(nthreads = 3) #Global variable
source("BuilderServer.R", local = TRUE)[1]
source("ReviewerServer.R", local = TRUE)[1]
# CleanupFUnctions
session$onSessionEnded(function() {
rm(list=ls())
})
})
,我认为source
与local = TRUE
简直就像复制粘贴R上的文件的内容。所以它们包含形式为output$functionName <- renderUI({code})
的函数。 UI代码依赖于这些功能,他们大多是被动的,UI代码如下所示:
shinyUI(navbarPage("Metamodel",
tabPanel("Build Custom Model",
fluidRow(
column(12,align="center",
uiOutput("BuilderUpTitle")
)
),
fluidRow(
column(3,
uiOutput("BuilderAxisSelector")
)
)
)
))
在这种特殊情况下,"BuilderUpTitle"
功能如下:
output$BuilderUpTitle <- renderUI({
inFile <- input$BuilderInputFile
if(is.null(input$BuilderInputFile)){
fileInput("BuilderInputFile", "Upload a xlsx file")
} else {
#R Stuff done here with the file
textInput("text", label = h3("Model Title"), value = "Enter text...")
}
})
我写的代码昨天,它正在工作。今天,我再次打开电脑,启动应用程序时,甚至没有从server.R的依赖项加载(ggplot2和h2o)。 "BuilderUpTitle"
函数的下载按钮完全不显示,闪亮只能执行ui.R代码。我将工作区设置为源文件的文件夹,但没有帮助。即使我从服务器取消注释stop()
函数,但似乎没有任何变化。在RStudio中设置断点不会停止服务器中的代码,所以这就是为什么我觉得闪亮不在调用服务器功能。然而,代码之前工作,我没有修改单个文件。我甚至将源文件的内容复制到server.R代码中,但仍然无法加载。有什么明显的我失踪了?先谢谢你!
它不是一个无限循环。 ui.r不能对同一个输出绑定对象有多个引用。 – hedgedandlevered