React native 需要Clojurescript中的作用域模块

React native 需要Clojurescript中的作用域模块,react-native,clojurescript,re-natal,React Native,Clojurescript,Re Natal,我已经开始为cljs项目使用:target:nodejs编译器选项。总的来说,它运行良好 但是,当尝试将@mapbox/react原生mapbox gl转换为更新后的require语法时,例如 (:require [@mapbox/react-native-mapbox-gl]) 它失败了- 库名称必须指定为符号 因为npm模块的作用域为@。使用字符串也不起作用 这很有效- (set! js/MapboxGL (js/require "@mapbox/react-native-mapbox-g

我已经开始为cljs项目使用:target:nodejs编译器选项。总的来说,它运行良好

但是,当尝试将@mapbox/react原生mapbox gl转换为更新后的require语法时,例如

(:require [@mapbox/react-native-mapbox-gl])
它失败了-

库名称必须指定为符号

因为npm模块的作用域为@。使用字符串也不起作用

这很有效-

(set! js/MapboxGL (js/require "@mapbox/react-native-mapbox-gl"))
但我很好奇是否有任何方法可以使用require语法编译此文件。

如果使用1.9.854或更高版本

现在可以在:require中使用字符串

(:require ["@mapbox/react-native-mapbox-gl" :as mapbox])

希望您喜欢使用ClojureScript

谢谢您的留言。我将在下周返回项目并报告时对此进行一次尝试。结果表明,Mapbox库返回一个必须从以下位置访问的对象:default,例如def _map.-default Mapbox,这就是我最初尝试字符串时失败的原因。谢谢你的来信。你的答案很好。真的建议大家加入clojure的slack Channel。你可以得到更快更好的答案