在另一个包中增强小部件的最佳方法?

Best way to enhance a widget in another package?

rgl 包导出一对 htmlwidgets:一个由 rgl::rglwidget() 生成,一个由 rgl::playwidget() 生成。在一个单独的包中,我想导出一些 Javascript 代码来处理它们。 (这将是一个可以由 rgl::playwidget() 处理的新控件,并将修改一个 rgl 小部件。)

所以这段代码比一个小部件要少得多;它永远不会单独显示。它需要先加载 rgl 代码,然后它会添加一些 rglwidgetClass 方法。

这应该怎么做?有没有办法制作一个不可见的小部件,它只是存在以便可以声明依赖关系?

我不知道这是否是最好的方法,但这是一种实现我想要的方法。

想法是 htmltools 包允许您将依赖项附加到您正在输出的任何 HTML object。例如,

library(htmltools)
p("This is some text", htmlDependency( .... ))

将自动导致 htmlDependency 加载到创建的网页的 header 中。