【问题标题】:Importing Exports within extendShinyjs in Shiny Server在 Shiny Server 的 extendShinyjs 中导入导出
【发布时间】:2020-06-20 23:26:43
【问题描述】:

我在我的 Shiny 应用程序中使用 MongoDB Stitch,要使用我的查询功能,我需要从 MongoDB Stitch JavaScript SDK 导入 Stitch 导出。使用extendShinyjs在本地解析以下内容没有问题:

library(shiny)
library(shinyjs)

jsCode <- '
shinyjs.init = function() {
  const {
  Stitch
  } = stitch;

  window.stitchClient = Stitch.initializeDefaultAppClient("xxx");
}'

shinyApp(
  ui = fluidPage(
    tags$head(HTML('<script src="https://s3.amazonaws.com/stitch-sdks/js/bundles/4.9.0/stitch.js"></script>')),
    useShinyjs(),
    extendShinyjs(text = jsCode)
 ),
  server = function(input, output) {
  }
)

但是,当闪亮服务器中的 extendShinyjs 调用上述代码时,我收到以下错误:shinyjs:解析提供的 JavaScript 代码时出错。我通过反复测试确认问题出在我使用 shinyjs.init 函数的第一个命令调用 Stitch 导出。不确定是否有解决此问题的方法。感谢您的帮助!

【问题讨论】:

    标签: r shiny shinyjs mongodb-stitch


    【解决方案1】:

    需要注意的重要细节:我正在使用 rocker/shiny 基本映像的容器上运行闪亮服务器,到目前为止,它使用 Debian 9(拉伸)基本映像。根据 Jeroen (https://github.com/jeroen/V8/issues/86) 的说法,Debian 9 附带的 V8 解析器是旧版本,因此,当我运行上面的脚本时,现代 JS 没有被正确解析。 rocker/r-ver 现在使用 Debian 10 (buster),所以我使用了那个基础镜像,安装了在 rocker/shiny Dockerfile 中列出的依赖项,并且脚本运行没有问题。希望 Rocker/Shiny Dockerfile 尽快更新!

    【讨论】:

      猜你喜欢
      • 2018-09-26
      • 2015-10-23
      • 1970-01-01
      • 1970-01-01
      • 2015-03-05
      • 1970-01-01
      • 2011-03-19
      • 2015-12-22
      • 1970-01-01
      相关资源
      最近更新 更多