Include a javascript file in Shiny app

前端 未结 5 1453
一生所求
一生所求 2020-11-29 02:02

I need to include a js library into my Shiny app. Currently I use includeHTML to include the script directly into html codes. e.g.

includeHTML(\'URL.js\')
<         


        
5条回答
  •  北荒
    北荒 (楼主)
    2020-11-29 02:44

    What you need to do is:

    1. create www folder in the same folder as server.R and ui.R
    2. put javascript file into www folder.
    3. put tags$head(tags$script(src="hoge.js")) in UI.

    The folder looks like:

    ├── server.R
    ├── ui.R
    └── www
        └── hoge.js
    

    The ui.R is something like

    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"))
      )
    ))
    

    and server.R

    library(shiny)
    shinyServer(function(input, output) {
      output$distPlot <- renderPlot({
        dist <- rnorm(input$obs)
        hist(dist)
      })
    })
    

    Note that these are templates generated by Rstudio.

    Now head of html looks like:

    
      
      ... snip ...
      
      
    
    

提交回复
热议问题