我如何在deps.edn项目中使用cljsjs软件包

问题描述 投票:0回答:1

我尝试将依赖项添加到我的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中工作吗?

clojure clojurescript deps-edn cljsjs
1个回答
0
投票

您需要执行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对象进行命名空间。

© www.soinside.com 2019 - 2024. All rights reserved.