2016-11-28 54 views
2

?includeScript爲什麼不鼓勵在Shiny includeScript()中使用絕對路徑?

路徑: 要包含的文件的路徑。強烈建議使用相對路徑(基本路徑是Shiny應用程序目錄),而不是絕對路徑。

但功能includeScript讀取與readLines腳本,它不以某種方式包括這樣它會得到加載客戶端(這顯然是不好的)的HTML的路徑。所以我不明白爲什麼我不應該使用絕對路徑。特別是,我的應用程序將是includeScript(system.file("js/blub.js", package="mypackage"))(並且我的Shiny應用程序在對象中,而不是來源),所以對我而言,這是實現它的好方法。我錯了嗎?

+0

你確定你知道絕對路徑和相對路徑的區別嗎? – Dason

回答

3

你不想使用絕對路徑,因爲如果你將應用程序移動到另一個系統,它可能會停止工作---如果系統上的目錄結構不同。

但是,它看起來不像你使用的是絕對路徑。絕對路徑類似於/home/meow/blub.js

+0

'''system.file()'''返回一個絕對路徑。 '''system.file(「SOURCES.ts」,package =「stats」)''' – meow

+0

但我想我現在明白了。我的路徑在技術上是絕對路徑,但在功能上是相對路徑。 我原本以爲他們想使用相對路徑,因爲你通常希望使用HTML中的相對路徑等原因;事實並非如此。 謝謝! – meow

+0

正確。 'system.file()'會響應當地的情況。 – dommer

相關問題