我尝试将依赖项添加到我的deps.edn:
{:deps {cljsjs/js-yaml {:mvn/version "3.3.1-0"}
...}
但是我无法从该库中调用函数。
在REPL中:
cljs.user=> (require '[cljsjs.js-yaml])
cljs.user=> js/safeLoad
Execution error (ReferenceError) at (<cljs repl>:1).
safeLoad is not defined
我发现的instructions用于莱尼根(project.clj)。我需要做一些特殊的事情才能使其在deps.edn中工作吗?
您需要执行js / jsyaml.safeLoad,并且在复制时需要使用函数require
而不是ns声明中使用的符号。
bfabry@18723-bfabry /t/foo> plk
ClojureScript 1.10.520
cljs.user=> (require '[cljsjs.js-yaml])
nil
cljs.user=> (js/jsyaml.safeLoad "app:\n bar: baz\n")
#js {:app #js {:bar "baz"}}
cljs.user=>
这些包使用自己名称的js对象进行命名空间。