У меня блестящее приложение, которое использует пакет config
, чтобы использовать различные конфигурации в зависимости от среды приложения (тестирование / QA / производственная среда).
Поскольку я также использую JS-файлдля приложения мне было интересно, возможно ли получить значения из файла config.yaml
в файле JS?
Сейчас я жестко закодировал значения, которые мне понадобятся.
ВВ этом небольшом примере я хотел бы передать значение val
в файле конфигурации в JavaScript, поэтому мне не нужно вручную изменять значение при развертывании в определенной среде.В файле app.R в части js я хочу получить доступ к config$val
вместо жесткого кодирования значения, подобного var val = "abcdef"
;
config.yaml
default:
val: 'default123'
qa:
val: 'qa123'
prod:
val: 'prod123'
app.R
sys <- Sys.info()
ifelse("Windows" %in% sys[1],
{Sys.setenv(R_CONFIG_ACTIVE = "default")},
{ip <- system("ip address | grep -A 1 'eth0' | tail -2", intern = TRUE)
ip <- gsub(pattern = "inet ", "", regmatches(ip, regexpr("inet [0-9]+\\.[0-9]+\\.[0-9]+\\.[0-9]+", ip)), fixed = T)
ifelse(ip == "prodip",
Sys.setenv(R_CONFIG_ACTIVE = "prod"),
Sys.setenv(R_CONFIG_ACTIVE = "qasys"))
})
js <- HTML('
$(document).on("shiny:connected", function (event) {
// How can i acces values from the config file in here?
//var val = config$val; // I wanna do this line, rather than
var val = "abcdef"; // this line
console.log(val);
})
')
library(shiny)
ui <- fluidPage(
tags$head(tags$script(js))
)
server <- function(input, output, session) {}
shinyApp(ui, server)