Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/loops/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
分开的server.R和ui.R文件中的模块_R_Module_Shiny - Fatal编程技术网

分开的server.R和ui.R文件中的模块

分开的server.R和ui.R文件中的模块,r,module,shiny,R,Module,Shiny,是否可以在单独的App.R、server.R和ui.R文件中记录的闪亮应用程序中创建模块 我找到的所有示例都是一个app.R文件,其中嵌入了服务器和ui功能。看见例3 (我从这个测试的最后一个示例中获取了代码) 我尝试运行此应用程序: 应用程序R 用户界面 #ui.R 图书馆(闪亮) #来源(“hello_world.R”) ui应用程序不知道ui和server对象,除非您在同一文件中定义它们并且它们是在运行时生成的,或者您在shinyApp()之前从外部文件显式调用它们。像下面这样更改你的ap

是否可以在单独的App.R、server.R和ui.R文件中记录的闪亮应用程序中创建模块

我找到的所有示例都是一个app.R文件,其中嵌入了服务器和ui功能。看见例3

(我从这个测试的最后一个示例中获取了代码)

我尝试运行此应用程序:

应用程序R

用户界面

#ui.R
图书馆(闪亮)
#来源(“hello_world.R”)

ui应用程序不知道
ui
server
对象,除非您在同一文件中定义它们并且它们是在运行时生成的,或者您在
shinyApp()之前从外部文件显式调用它们。像下面这样更改你的
app.R
,它应该可以工作:

library(shiny)

# load module functions
source("hw.R")
# load ui elements
source("ui.R")
# load server function
source("serv.R")

# Run the application 
shinyApp(ui = ui, server = server)

应用程序不知道
ui
server
对象,除非您在同一文件中定义它们,并且它们是在运行时生成的,或者您在
shinyApp()之前从外部文件显式调用它们。像下面这样更改你的
app.R
,它应该可以工作:

library(shiny)

# load module functions
source("hw.R")
# load ui elements
source("ui.R")
# load server function
source("serv.R")

# Run the application 
shinyApp(ui = ui, server = server)

目前有人给了我这个链接之前,它包含了所有我需要的。我根据这个更新了我的答案。目前有人给了我这个链接之前,它包含了所有我需要的。我根据这个更新了我的答案。我更新了答案,所以现在应该是正确的。我更新了答案,所以现在应该是正确的。
#server.R

library(shiny)
source("hello_world.R")


server <- function(input, output, session) {

  # Call logic server function of module "hello_world"
  callModule(module = hello_world, id = "id_1")

}

# UPDATE! -> my Error comes from this line of code  in server.R file: 
#shinyApp(ui = ui, server = server) 
#Removing the line above solve the problem. 
#module 1: hello_world

# Function for module UI
hello_worldUI <- function(id) {
    ns <- NS(id)

    fluidPage(
        fluidRow(
            column(2, textInput(ns("TI_username"), label = NULL, placeholder = "your name")),
            column(2, actionButton(ns("AB_hello"), label = "Hello !"))
        ),
        hr(),
        fluidRow(
            column(12, textOutput(ns("TO_Hello_user")))
        )
    )

}

# Function for module server logic
hello_world <- function(input, output, session) {

    # When user clicks on "Hello" button : Update reactive variable "name"
    name <- eventReactive(input$AB_hello, {
        return(input$TI_username)
    })

    # Show greetings
    output$TO_Hello_user <- renderText({
        if (name() %in% "") {
            return("Hello world !")
        } else {
            return(paste("Hello", name(), "!"))
        }
    })

}
library(shiny)

# load module functions
source("hw.R")
# load ui elements
source("ui.R")
# load server function
source("serv.R")

# Run the application 
shinyApp(ui = ui, server = server)