首页 > 解决方案 > 从未命名为 app.R 的文件中获得闪亮的负载

问题描述

有谁知道我可以更改闪亮加载的默认文件?我希望比每个目录一个文件更具灵活性。

标签: rshiny

解决方案


这取决于您的设置。

设置 1:从文件本地运行应用程序

如果要在本地(在交互式 R 会话中)运行应用程序,可以使用命令

shiny::shinyAppFile("path/to/my/appFile.R")

加载应用程序。在这种情况下,不必命名应用程序文件app.R。但是请注意,使用这种方法,所有相对路径(例如图像路径)都将相对于您的工作目录而不是相对于应用程序的目录进行解析。

设置 2:在服务器上运行应用程序

如果应用程序需要通过闪亮服务器(或闪亮应用程序.io)运行,事情会更加复杂。在这种情况下,服务器将期望应用程序被定义为app.Rui.R/server.R为了正确加载。我在这里知道的唯一解决方法是在shinyAppFile内部使用,app.R但这在大多数情况下可能不是很有用。

设置 3:将应用程序定义为对象

您还可以将应用程序定义为 R 对象并通过打印该对象来调用它。

someAppObj <- shinyApp(ui = fluidPage(), server = function(...) {})

## start the app by printing it
someAppObj

正如@ismirsehregal 的答案中所提到的,您也可以使用runApp打印方法来代替相对路径并处理应用程序环境略有不同的方法。

runApp(someAppObj)

设置 1 实际上与设置 3 相关,因为因为shinyAppFile它返回一个应用程序对象。


推荐阅读