我刚刚在Clojurescript项目中添加了一个新库(https://github.com/ptaoussanis/tempura/blob/master/README.md)。
WARNING: /matter/titan/source/titan-ui/out/taoensso/tempura/impl.js:96: WARNING - unreachable code}catch (e20422){if((e20422 instanceof Error)){
我也收到此错误:
Use of undeclared Var goog.structs/Map
(def ^:private coerce-xhr-params "Returns [<uri> <?data>]"
(let [url-encode
(fn url-encode
([params]
(when (seq params)
(-> params clj->js gstructs/Map. gquery-data/createFromMap .toString)))
^---
([uri params]
(let [qstr (url-encode params)
uri-with-query (if (str/blank? qstr) uri (str uri "?" qstr))]
[uri-with-query nil])))
我需要为此写一个“外部”吗?看起来像什么?
很难从您的代码和问题的细节中看出来,但我认为您在高级编译模式下调用库时遇到麻烦。
现代的简单方法是完全跳过外部事物,而只是不使用互操作形式而是通过使用https://github.com/binaryage/cljs-oops
库来编写调用/获取。
然后,您将无需执行任何其他操作-默认情况下,所有代码都将在高级编译中保留下来,而无需外部操作!
例如(.-nativeProp obj)
看起来像(oget obj "nativeProp")
,并且ocall
相应地用于函数调用。