问题描述
我尝试使用软件包在我的Shiny应用程序中实现JavaScript。这是我正在使用的代码:
# create package using devtools
devtools::create()
# navigate to package dir
setwd()
# create widget scaffolding
htmlwidgets::scaffoldWidget("test",bowerPkg = "c3",edit = FALSE)
# install package so we can test it
devtools::install()
正如您在执行过程中所看到的,我必须使用命令htmlwidgets::scaffoldWidget(name = "test",edit = FALSE)
。根据该软件包的source code,它还会更新包含相关性的.yaml
-文件。通过上述命令创建的当前.yaml
如下所示:
dependencies:
- name: d3
src: htmlwidgets/lib/d3
script: ./d3.min.js
- name: c3
src: htmlwidgets/lib/c3
script: ./c3.min.js
style: ./c3.min.css
缺少version
属性。在上面链接的源代码中,它指出,命令htmlwidgets::scaffoldWidget()
的另一个函数已触发,应注意以下事项:
tpl <- "# (uncomment to add a dependency)
# dependencies:
# - name:
# version:
# src:
# script:
# stylesheet:
"
if (!file.exists('inst/htmlwidgets')){
dir.create('inst/htmlwidgets')
}
if (!is.null(bowerPkg)){
installBowerPkg(bowerPkg)
tpl <- getConfig(bowerPkg)
}
if (!file.exists(file_ <- sprintf('inst/htmlwidgets/%s.yaml',name))){
cat(tpl,file = file_)
message('Created boilerplate for widget dependencies at ',sprintf('inst/htmlwidgets/%s.yaml',name)
)
} else {
message(file_," already exists")
}
if (edit) fileEdit(file_)
}
但是,version
属性在我的.yaml
文件中不可见,这进一步导致了错误。在这里,我正在尝试测试我的包裹:
#### Testing ####
library(test)
C3Gauge("hello,World!")
这导致了问题,R然后说:
Error in (function (name,version,src,Meta = NULL,script = NULL,stylesheet = NULL,:
Argument "version" is missing (without default)
基于此,我的问题是:如何使用version
命令将.yaml
属性添加到htmlwidgets::scaffoldWidget()
文件中?
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)