在构建R Shiny自定义输入绑定包时处理javascript代码

时间:2015-09-07 07:37:23

标签: r shiny r-package

我在Shiny中编写了一些输入绑定,并希望将我的函数构建到一个包中。现在的问题是输入绑定需要javascript代码,它通常位于应用程序目录的www目录中,因此用户需要将javascript文件复制到他/她需要的每个应用程序www中包并使用输入绑定。

我希望当这个包的用户require()编辑这个包时,相应的输入绑定jQuery定义会像本机绑定定义一样自动加载应用程序。或者有没有人知道这种情况的其他解决方案。

1 个答案:

答案 0 :(得分:1)

您可以将javascript代码放在包中的inst文件夹中,并将该文件夹声明为依赖项。可能还有其他方法,甚至可能是更好的方法,但你可以看看我是如何在我的包中做到这一点的。我创建了一个colourInput小部件,需要两个javascript文件:一个用于输入绑定,另一个用于按钮的实际javascript库。

Here是保存javascript和css的文件夹(请注意inst/www/shared/colourpicker下的内容),here是我用来声明javascript /的代码css文件作为依赖项,at the last line我将javascript / css依赖项附加到按钮HTML。

我花了一些时间来了解如何实现这一点,但这是一个有效的例子,所以你可以看看这个真实的代码并遵循类似的方法。