我試圖讓一個閃亮的反應用戶界面運行。它變得相當複雜(就代碼行而言),所以我認爲重構是一個好主意。把它總之,這是我的服務器代碼:閃亮的反應用戶界面沒有運行服務器代碼
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