Clojurescript 高级编译无法访问的代码



我刚刚在我的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])))

我需要为此写一个"extern"吗?这是什么样子的?

很难从您的代码和问题细节中分辨出来,但我认为您在高级编译模式下调用库时遇到了问题。

现代的简单方法是完全跳过外部事务,只是不以互操作形式编写调用/获取,而是通过使用https://github.com/binaryage/cljs-oops库。

那时你不必做任何其他事情 - 默认情况下,你的所有代码都可以在高级编译中幸存下来,不需要外部人员!

例如 (.-nativeProp obj)看起来像(oget obj "nativeProp")ocall相应地用于函数调用。

最新更新