Давайте посмотрим на следующий пример.
Существует 2 файла: «setting.R» с названием приложения и заголовком окна и «app.R», который работает как веб-приложение. При загрузке приложения я должен вызывать «settings.R» на стороне сервера (только так). К сожалению, переменные в «settings.R» не являются глобальными, и я получаю сообщение об ошибке в журнале сервера «Ошибка в navbarPage (имя_приложения ... объект« имя_приложения »не найден». Использование оператора «<< -» для «имя_приложения < <- «Тестовое приложение» не помогает. </p>
Код, запущенный в «settings.R», зависит от параметра «app_id», определенного на стороне сервера. Поэтому я не могу использовать «global.R» также.
Вопрос в том, как сделать переменные "app_name" и "window_title" глобальными или видимыми любым другим способом в "app.R".
settings.R
=====
if(app_id == "1") {
app_name <- "App 1"
window_title <- "Title 1"
}
if(app_id == "2") {
app_name <- "App 2"
window_title <- "Title 2"
}
app.R
=====
# Server
server <- function(input, output, session) {
output$uo_init_app <- renderUI({
app_id <- "1"
source("settings.R")
})
}
# UI
ui <- fluidPage(
navbarPage(app_name,
windowTitle = window_title,
fluidPage(
fluidRow(uiOutput("uo_init_app")),
fluidRow("App")
))
# Run app
shinyApp(ui, server)
Спасибо!