r语言 - 在一个包装中包括闪亮的BS



当我构建,加载和运行自己的软件包时,如果我事先使用"library(shinyBS("加载shinyBS,它只会使用shinyBS功能,否则工具提示不起作用..尽管Shiny应用程序可以工作(尽管ShinyBS功能(,但可以通过浏览器控制台看到网页错误。(关于一些丢失的文件。闪亮BS.css和闪亮BS.js(

所以问题是:我怎样才能生成、部署和运行我自己的闪亮软件包,而无需强迫用户事先加载 shinyBS(做'库(shinyBS('(?!

谢谢!

向 R 包添加依赖项的常用方法是在DESCRIPTION文件的"Imports"字段中添加包。这是Hadley Wickam介绍的一个版本。

Package: mypackage
Title: What The Package Does (one line, title case required)
Version: 0.1
Authors@R: person("First", "Last", email = "first.last@example.com",
role = c("aut", "cre"))
Description: What the package does (one paragraph)
Depends: R (>= 3.1.0), shiny
Imports: shinyBS
License: What license is it under?
LazyData: true

然后,您需要指定包中实际需要shinyBS包中的哪些函数,并在NAMESPACE文件中importsFrom。或者,您也可以导入所有shinyBS函数

import(shinyBS)

但是,在shinyBS的情况下,由于为该包定义onLoad/onAttach钩子的方式,您实际上需要将依赖项放在Depends字段中。有关更多尾巴,请参阅此处。因此,您的DESCRIPTION文件应如以下示例所示

Package: mypackage
Title: What The Package Does (one line, title case required)
Version: 0.1
Authors@R: person("First", "Last", email = "first.last@example.com",
role = c("aut", "cre"))
Description: What the package does (one paragraph)
Depends: R (>= 3.1.0), shiny, shinyBS
License: What license is it under?
LazyData: true

这是非常不寻常的,在我看来,这个问题应该从shinyBS开发人员那里解决。但是,同时使用Depends字段来确保附加shinyBS是解决您所描述问题的可行解决方法。

你应该使用NAMESPACE来声明你需要在包中加载shinyBS

例如,在您的NAMESPACE文件中,您应该执行以下操作:

import(shinyBS)

此外,正如@r2evans所注意到的,您应该在DESCRIPTION文件的Imports部分添加shinyBS

Imports: shinyBS

有关更多信息,请查看 Hadley Wickam 的 R 包网站:http://r-pkgs.had.co.nz/namespace.html#imports。

最新更新