首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在包中包含shinyBS

在包中包含shinyBS
EN

Stack Overflow用户
提问于 2018-10-04 22:24:10
回答 2查看 272关注 0票数 0

当我构建、加载和运行我自己的包时,只有在我预先使用‘shinyBS ( shinyBS )’加载库的情况下,它才是使用库功能,否则工具提示不起作用。(关于一些缺少的files..shinyBS.css和shinyBS.js)

所以问题是:我如何才能生成、部署和运行我自己的闪亮的包,而不强制用户预先加载库( shinyBS ) ?!

谢谢!

EN

回答 2

Stack Overflow用户

发布于 2018-10-06 00:01:01

将依赖项添加到R包的通常方法是在DESCRIPTION文件的Imports字段中添加包。以下是来自Hadley Wickam's introduction的改编版本。

代码语言:javascript
复制
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

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

代码语言:javascript
复制
import(shinyBS)

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

代码语言:javascript
复制
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是您所描述的问题的可行解决方法。

票数 5
EN

Stack Overflow用户

发布于 2018-10-04 22:33:19

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

例如,在您的NAMESPACE文件中,您应该这样做:

代码语言:javascript
复制
import(shinyBS)

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

代码语言:javascript
复制
Imports: shinyBS

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

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/52649138

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档