我正在开发一个Shiny-app,由于它是一个相当大的项目,所以我将其拆分为几个文件。
我有这些app.R,ui.R和server.R:
app.R
template<class T_Src>
struct IF {
template<class T>
static void f1()
{
T_Src::template imp_f1<T>();
}
template<class T>
inline void f3()
{
/*this line does not compile*/
static_cast<T_Src*>(this)->imp_f3<T>();
}
}
struct Src:public IF<Src>
{
template<class T>
static void imp_f1()
{
}
template<class T>
inline void imp_f3()
{
}
};
ui.R
library(shiny)
library(shinydashboard)
shinyApp(ui, server)
server.R
library(shiny)
library(shinydashboard)
library(shinyWidgets)
header <- dashboardHeader(disable = TRUE)
sidebar <- dashboardSidebar(
sidebarMenu(id = "tabs",
sidebarMenuOutput("menu"))
)
MainBox <- fluidRow(
titlePanel("PromView"),
tabItems(
tabItem(tabName = "tab1", QuickPlot()),
tabItem(tabName = "tab2", p("Doorloop Content"))
)
)
body <- dashboardBody(MainBox)
ui <- dashboardPage(title = "PromView", skin = "blue",
header,
sidebar,
body
)
当我启动应用程序(在Rstudio中)时,该应用程序抱怨它找不到QuickPlot()函数。 Rstudio中的环境窗格为空。
当我在server.R中手动执行“源”行时,环境窗格显示所有数据都已加载并且功能已定义。然后,该应用程序即可正常启动。
如何强制闪亮使用“源”行?
本
答案 0 :(得分:0)
您可以在ui.R文件中放置“源”行,在服务器文件之前闪亮地加载ui文件,因此,您的应用程序将抱怨没有QuickPlot功能。