在 Clojurescript 中需要作用域模块

Require scoped module in Clojurescript

我已经开始为 cljs 项目 (src) 使用 :target :nodejs 编译器选项。总的来说,效果很好。

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

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

它失败了 -

Library name must be specified as a symbol

因为 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