簡體   English   中英

來自未命名為app.R的文件有閃亮的負載

[英]Have shiny load from a file not named app.R

有誰知道我可以更改閃亮加載的默認文件? 我希望比每個目錄一個文件更具靈活性。

對於單個文件應用程序,只需將其重命名並添加

app <- shinyApp(ui = ui, server = server)
runApp(app)

才能找到它。

這取決於您的設置。

設置1:從文件本地運行應用

如果要在本地(在交互式R會話中)運行應用程序,可以使用以下命令

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

加載應用程序。 在這種情況下,應用程序文件不必命名為app.R 但是請注意,通過這種方法,所有相對路徑(例如圖像路徑)將相對於您的工作目錄而不是相對於應用程序的目錄進行解析。

設置2:在服務器上運行應用

如果通過閃亮服務器(或Shinyapps.io)運行應用程序,則情況會更加復雜。 在這種情況下,服務器將期望將應用定義為app.Rui.R/server.R ,以便正確加載。 我知道這里唯一的解決方法是使用shinyAppFileapp.R但是這可能不是在大多數情況下是非常有用的。

設置3:將應用定義為對象

您還可以將應用程序定義為R對象,並通過打印該對象來調用它。

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

## start the app by printing it
someAppObj

如@ismirsehregal的回答中所述,您也可以使用runApp代替打印方法,該方法將注意相對路徑和對應用程序環境的處理是否稍有不同。

runApp(someAppObj)

設置1實際上與設置3有關,因為shinyAppFile返回了一個應用程序對象。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM