你如何在 R Shiny 中使用 addResourcepath()?
How do you use addResourcepath() in R Shiny?
我正在努力了解如何使用 R shiny 中的 addResourcePath() 函数(https://shiny.rstudio.com/reference/shiny/latest/resourcePaths.html), even despite this apparent solution to someone with a similar question
我想引用一个包含多个 javascript 文件的文件夹,以便在我闪亮的应用程序中使用,但我不明白 'prefix' 应该是什么,也不知道如何获取'directory path'。如何使用 addResourcePath 使 R Shiny 能够访问特定文件夹中的文件?
下面是简单的基本解释。
假设您要添加位于 c:/javascript_files
的文件 myScript.js
。最简单的解决方案是将 myScript.js
复制到您的应用程序所在的 www
子目录。 www
中的任何内容都可以通过您的应用程序的 UI
使用前缀 /
.
访问
对于此示例,要将您的脚本添加到 UI
,您可以使用
tags$head(tags$script(src="myScript.js")))
Shiny 生成的 HTML 代码将是
<script src="myScript.js"></script>
您的浏览器会将其解释为 http://your_site/myScript.js
。这里的前缀只是 /
.
但如果您想将 JS 代码保留在原始位置 (c:/javascript_files
),则需要让应用程序的 UI
(前端)可以访问它。因为你不能使用像 http://your_site/c:/javascript_files/myScript.js
这样的 URL,你需要创建一个“虚拟”子目录,将你的本地目录映射到 URL 目录,这实际上是 addResourcePath()
.
对于此示例,我们使用前缀 jscode
。表达式:
addResourcePath("jscode", "c:/javascript_files")
将创建一个名为 jscode
的“虚拟”目录,用于您应用程序的 URL 本地目录 c:/javascript_files
.
表达式:
tags$head(tags$script(src="jscode/myScript.js")))
将被翻译成 HTML 为
<script src="jscode/myScript.js"></script>
这将被浏览器解释为 http://your_site/jscode/myScript.js
。
如果你有像c:/javascript_files/code_a
这样的子目录,你不需要添加它,你可以像这样引用它:
<script src="jscode/code_a/myScript.js"></script>
添加 myScript.js
文件的 Shiny 代码为:
library(shiny)
addResourcePath("jscode", "c:/javascript_files")
ui <- fluidPage(
tags$head(tags$script(src = "jscode/myScript.js"))
)
server <- function(input, output, session) {
}
shinyApp(ui, server)
我正在努力了解如何使用 R shiny 中的 addResourcePath() 函数(https://shiny.rstudio.com/reference/shiny/latest/resourcePaths.html), even despite this apparent solution to someone with a similar question
我想引用一个包含多个 javascript 文件的文件夹,以便在我闪亮的应用程序中使用,但我不明白 'prefix' 应该是什么,也不知道如何获取'directory path'。如何使用 addResourcePath 使 R Shiny 能够访问特定文件夹中的文件?
下面是简单的基本解释。
假设您要添加位于 c:/javascript_files
的文件 myScript.js
。最简单的解决方案是将 myScript.js
复制到您的应用程序所在的 www
子目录。 www
中的任何内容都可以通过您的应用程序的 UI
使用前缀 /
.
对于此示例,要将您的脚本添加到 UI
,您可以使用
tags$head(tags$script(src="myScript.js")))
Shiny 生成的 HTML 代码将是
<script src="myScript.js"></script>
您的浏览器会将其解释为 http://your_site/myScript.js
。这里的前缀只是 /
.
但如果您想将 JS 代码保留在原始位置 (c:/javascript_files
),则需要让应用程序的 UI
(前端)可以访问它。因为你不能使用像 http://your_site/c:/javascript_files/myScript.js
这样的 URL,你需要创建一个“虚拟”子目录,将你的本地目录映射到 URL 目录,这实际上是 addResourcePath()
.
对于此示例,我们使用前缀 jscode
。表达式:
addResourcePath("jscode", "c:/javascript_files")
将创建一个名为 jscode
的“虚拟”目录,用于您应用程序的 URL 本地目录 c:/javascript_files
.
表达式:
tags$head(tags$script(src="jscode/myScript.js")))
将被翻译成 HTML 为
<script src="jscode/myScript.js"></script>
这将被浏览器解释为 http://your_site/jscode/myScript.js
。
如果你有像c:/javascript_files/code_a
这样的子目录,你不需要添加它,你可以像这样引用它:
<script src="jscode/code_a/myScript.js"></script>
添加 myScript.js
文件的 Shiny 代码为:
library(shiny)
addResourcePath("jscode", "c:/javascript_files")
ui <- fluidPage(
tags$head(tags$script(src = "jscode/myScript.js"))
)
server <- function(input, output, session) {
}
shinyApp(ui, server)