请分享您的想法,参与2024 年 Clojure 状态调查!

欢迎!请查看关于页面以了解更多有关该功能的信息。

0
ClojureScript
编辑者

为什么 Clojure 没有为 Node.js 和浏览器提供读取器条件?它们是非常不同的环境,具有不同的实用工具和库。

目前我这样做

#?(:cljs (def is-browser
           (exists? js/window)))
#?(:cljs (if (not is-browser)
           (require 'http)))

有没有更好的方法?

1 个回答

0

这是一个在 clojurescript (也许在 JS 本身?)中的开放问题

shadow-cljs 允许您定义自定义条件

https://shadow-cljs.github.io/docs/UsersGuide.html#_conditional_reading

然后您可以这样做
(def browser? #?(:node false :cljs true))

...