Inclure un fichier javascript dans l'application Brillant

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:

  1. Créez un dossier www dans le même dossier que server.R et ui.R
  2. Mettez le fichier javascript dans le dossier www .
  3. Mettre 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 

Ui.R

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