[譯]R語言——Shiny框架之入門(三):如何啓動一個Shiny應用

如何啓動一個Shiny應用

在前兩篇文章裏[1,2],你已經可以通過調用runApp()函數來運行樣例應用了。這個函數運行了應用並將它在你的默認瀏覽器裏顯示了出來。這個函數的調用是模塊化的(blocking?),這意味着當應用運行的時候你就不能使用控制檯了。

要想停止應用的運行你只需要在R裏打斷就行了,在R前端可以使用Ctrl+C,在RStudio裏可以按下Esc鍵,或者點擊你的R環境裏提供的停止鍵(Stop)。

在隔離的進程裏運行應用

如果你不想被運行的Shiny應用阻擋你使用控制檯,你也可以在一個隔離的進程裏運行應用。要想這樣做,你可以打開一個終端(Terminal)或控制檯窗口並運行下面的代碼,把~/shinyapp重新放在你應用的路徑裏:

R -e "shiny::runApp('~/shinyapp')"

在開啓一個應用的時候,runApp()默認爲這個應用指定一個隨機的接口。比如說,它也許會在接口4700上啓動這個應用,這樣的話你就可以在瀏覽器裏通過http://localhost:4700這個地址連接到已經啓動的應用了。

在其他的一些文章裏,我們會討論到一些關於調試Shiny應用的技術,包括停止應用的執行和檢查當前環境等。要想實現這些功能,你需要在一個隔離的終端對話裏運行,需要從一個交互式的R對話裏調用runApp(),而不是用這裏提到的方法。

實時重載

當你對ui定義或者server腳本進行更改的時候,並不需要停止再重啓應用來查看這些變化,只要保存更改然後重載頁面就可以了。

這樣做的一個條件是:當瀏覽器重載的時候,Shiny會準確地檢查app.R文件的時間戳來確認是否需要重新執行source()。Shiny並不能檢查到其他腳本或數據文件的改變,所以當你需要更改這些文件的時候,就得進行停止再重啓應用了。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章