最近、私はvennの図プロットのためにjavascriptファイルを使うためのhtmlウィジェットを書いた。 RStudioでは、アプリはうまく動作するので、光沢のあるサーバー上でアプリを使用する際に問題があることは分かりませんでした。HTMLWidget:ShinyアプリはRstudioではうまく動くが、Shiny-Serverでは動かない
RStudioのShinyでアプリを実行しても、エラーはスローされず、Webブラウザには新しいウィジェット以外のすべてのShinyページの他の要素が表示されます。ブラウザのデベロッパーコンソールを考えてみると、わたしのためには以下のようなエラーがあります。
Uncaught TypeError: Cannot read property 'filter' of undefined
at exports.OutputBinding.shinyBinding.find (htmlwidgets.js:475)
at a (shiny.min.js:3)
at f (shiny.min.js:3)
at initShiny (shiny.min.js:3)
私はRStudioの外で実行しても、同じエラーが発生するだけです。
私はこれを2つの独立したパッケージでテストしました。私の側では系統的なエラーのようです。
ブラウザで実行中のアプリケーションを調べると、次のdivが作成されていることがわかりました。しかし、私は提出されたデータを見つけることができませんでした。
<div id="vennDia" style="width:100%; height:400px; " class="vennConductor html-widget html-widget-output"></div>
vennConductor.js:私の意見では
HTMLWidgets.widget({
name: 'vennConductor',
type: 'output',
initialize: function(el, width, height) {
},
renderValue: function(el, x, instance) {
// console.log(x)
$(el).jvenn(x)},
resize: function(el, width, height, instance) {
$(el).attr("width", width).attr("height", height)
}
});
「関連」HTMLWidget Rコード:
htmlwidgets::createWidget(
name = 'vennConductor',
json_payload,
width = width,
height = height,
package = 'vennConductor',
elementId = elementId,
sizingPolicy = htmlwidgets::sizingPolicy(
browser.fill = TRUE,
viewer.fill = TRUE
)
)
#' @name vennConductor-shiny
#' @export
vennConductorOutput <- function(outputId, width = '100%', height = '400px'){
htmlwidgets::shinyWidgetOutput(outputId, 'vennConductor', width, height, package = 'vennConductor')
}
#' @rdname vennConductor-shiny
#' @export
renderVennConductor <- function(expr, env = parent.frame(), quoted = FALSE) {
if (!quoted) { expr <- substitute(expr) } # force quoted
htmlwidgets::shinyRenderWidget(expr, vennConductorOutput, env, quoted = TRUE)
}
とウィジェットコール:誰でもできる
jVennConductor(elementId = 'vennDia', venn_lists = vlist_01, displayMode=T, displayStat=T)
・ホープ私を助けてください。ありがとう!!!
P.s:Rおよびパッケージは最新であり、私のOSは、私たちは、問題の原因を発見したWINDOWS 10