【问题标题】:Shiny app as function, where to put www/ folder, CSS, JS闪亮的应用程序作为函数,放置 www/ 文件夹,CSS,JS
【发布时间】:2022-04-12 17:18:09
【问题描述】:

我正在尝试将一个相对复杂的闪亮应用程序(3-4 个模块,8 个 CSS/JS 文件)转换为具有一个外部函数的包,该函数为给定的输入(build_myApp(dataset1, title, factors) 存储在R/ 目录中的build_myApp.R 中,以及myApp_server.RmyApp_ui.R 和各种帮助文件)。

我一直在关注这个例子here,现在一切正常,只是样式消失了。 Here,有人似乎有类似的问题,但没有尝试“功能化”他们的应用程序。

以前,我将外部文件放在顶级www 文件夹中,并从顶级ui.R 文件中调用它们,如下所示:tags$link(rel = "stylesheet", type = "text/css", href = "sample1.css")tags$script(src="www/sample.js")。但是我目前无法访问它们中的任何一个,并且可能无法访问其他外部 css,尽管很难确定。

我尝试将 www 标头留在顶层,将其放在 inst/ 顶层文件夹中,并将其移动到 R/ 中,并每次都重新启动 R 会话和重建包。为了完成主义者,在所有这些我尝试过的排列中:

  • sample1.css
  • ./sample2.css
  • ../sample3.css
  • www/sample4.css
  • ./www/sample5.css
  • ../www/sample6.css
  • /www/sample7.css
  • inst/www/sample8.css
  • /inst/www/sample9.css
  • ./inst/www/sample10.css
  • ../inst/www/sample11.css
  • inst/sample12.css
  • /inst/sample13.css
  • ./inst/sample14.css
  • ../inst/sample15.css

不幸的是,Mastering Shiny Chapter 没有提到它,我在网上找不到任何其他参考资料。任何建议将不胜感激,谢谢!

【问题讨论】:

    标签: css r shiny htmltools


    【解决方案1】:

    如果有人偶然发现这个问题或者它仍然是一个悬而未决的问题 - 对我有用的是将 .css 文件放在包的 inst/ 文件夹中,然后使用 system.file 在 UI 中访问它,即

    includeCSS(system.file("myCSSfile.css", package = "myPackageName"))
    

    【讨论】:

      猜你喜欢
      • 2017-04-12
      • 2021-01-22
      • 2022-10-05
      • 1970-01-01
      • 2021-07-04
      • 1970-01-01
      • 2022-01-20
      • 2016-12-01
      • 1970-01-01
      相关资源
      最近更新 更多