2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请访问 关于 页面,了解更多该网站的工作方式。

0
ClojureScript
编辑

为什么 Clojure 没有针对 Nodejs 和浏览器的 reader 条件?因为它们是不同的环境,拥有不同的工具和库。

目前我正在这样做

#?(: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))

...