Je dois inclure une bibliothèque js dans mon application Shiny. Actuellement, j'utilise includeHTML pour inclure le script directement dans les codes html. par exemple
includeHTML('URL.js')
Le navigateur affiche "Not Found" lorsque j'essaie de naviguer le fichier js si j'utilise les tags $ script, eg
http://127.0.0.1:7106/URL.js tags$script(src = 'URL.js')
Maintenant, j'ai mis URL.js dans le même dossier de ui.r et server.r.
Où puis-je stocker le fichier URL.js? Ou existe-t-il d'autres façons d'inclure un fichier js?
Merci pour toutes les suggestions.
Ce que vous devez faire, c'est:
www
dans le même dossier que server.R
et ui.R
www
. tags$head(tags$script(src="hoge.js"))
dans UI. Le dossier ressemble à:
├── server.R ├── ui.R └── www └── hoge.js
L' ui.R
est quelque chose comme
library(shiny) shinyUI(pageWithSidebar( headerPanel("New Application"), sidebarPanel( sliderInput("obs", "Number of observations:", min = 1, max = 1000, value = 500) ), mainPanel( plotOutput("distPlot"), tags$head(tags$script(src="hoge.js")) ) ))
Et le server.R
library(shiny) shinyServer(function(input, output) { output$distPlot <- renderPlot({ dist <- rnorm(input$obs) hist(dist) }) })
Notez que ce sont des modèles générés par Rstudio.
Maintenant, la head
de html ressemble à:
<head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8"/> ... snip ... <script src="shared/slider/js/jquery.slider.min.js"></script> <script src="hoge.js"></script> </head>
Une autre façon est d'utiliser:
includeScript("mapManipulator.js"),
└──shiny ├── server.R ├── ui.R └── www ├── stylesheet.css └── js └── hoge.js
L'un ou l'autre fonctionnera
1. tags$head(HTML("<script type='text/javascript' src='js/hoge.js'></script>")) 2. HTML('<head> <link rel="stylesheet" type="text/css" href="stylesheet.css"> <script type="text/javascript" src="js/hoge.js"></script> </head>')
Une autre option non encore discutée est que vous supprimez simplement le fichier ui.R, puis codiez tout en tant que fichier HTML personnalisé. Détails ici https://shiny.rstudio.com/articles/html-ui.html
Dans cet article, les éléments de formulaire HTML par défaut sont automatiquement utilisés comme entrées dans server.R, mais vous pouvez également créer des éléments d'entrée personnalisés (ou de sortie) brillants avec ce guide https://shiny.rstudio.com/articles/building- Inputs.html