我想部署我的R Shiny App,但我不能使用标准的方法,即使用runapp命令并将IP设置为0.0.0.0。我想知道是否有任何方式可以输出一个纯HTML文件,该文件将包括ui.R和server.R功能,以便我可以部署每天生成的纯HTML文件。对于R/Shiny,是否可能生成一个包含UI元素且模拟server.R功能/反应性的index.html文件?
基本上,@Kevin Arschenau在他的评论中已经指出了最重要的要点。
你需要一个R服务器才能执行shiny应用程序。没有办法将其转换为“纯HTML”并通过javascript运行交互性。原因是shiny应用程序必须在运行时执行R代码,而javascript不知道如何处理它。
如果您想部署到的站点没有安装R(和shiny-server
),那么在该站点显示shiny应用程序的唯一方法是在不同的服务器上托管该应用程序并嵌入它(通过iframe)。例如,您可以在shinyapps.io上上传一个应用程序,并像这里演示的那样将其包含在您的网页中。
如果您的公司不允许您将应用程序托管在第三方网站上(出于披露原因),则必须咨询IT部门并要求他们
R
和shiny-server
或在docker的情况下,有一些项目可以简化这个过程。例如,shinyproxy使创建具有LDAP身份验证的可扩展应用程序变得容易。
如果公司直接使用shiny-server
,请注意免费版本中存在用户限制。
现在有一个名为“shiny for Python”的工具可用,可以让您以“无服务器”方式部署应用程序。这是通过在客户端上运行WebAssembly上的Python实现来实现的。有关更多详细信息,请参见此处。我不建议使用另一种语言重写现有的应用程序,但仍然认为值得在此提及。
.Rmd
文件。但是,在嵌入数据和任何其他支持资产之后,它们会非常快速地变得非常大。 - Kevin Arseneau