Shinydashboard,Server.R无法编译“源代码”行

时间:2019-02-22 11:50:12

标签: r shiny shinydashboard

我正在开发一个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中手动执行“源”行时,环境窗格显示所有数据都已加载并且功能已定义。然后,该应用程序即可正常启动。

如何强制闪亮使用“源”行?

1 个答案:

答案 0 :(得分:0)

您可以在ui.R文件中放置“源”行,在服务器文件之前闪亮地加载ui文件,因此,您的应用程序将抱怨没有QuickPlot功能。