我正在尝试编写一个cljs宏,该宏可以将Clojure数据(例如:{:font-size "14px"}
)转换为CSS(例如:font-size: 14px;
)。
我希望这个宏可以接受地图字面量和解析为地图的符号。
例如:
(defstyles foo
{:font-size "14px"})
;; -- OR --
(def bar {:font-size "14px"})
(defstyles foo bar)
在宏中,我尝试过类似以下操作
(defmacro defstyles [vsym]
@(resolve vsym))
当变量在宏使用的命名空间中定义时,这似乎可以正常工作,但当我从一个命名空间传递变量时,会抛出NullPointerException。