在 Shiny Server 的 extendShinyjs 中导入导出

Importing Exports within extendShinyjs in Shiny Server

我在我的 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) {
  }
)

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

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