欢迎!请访问 关于 页面,了解更多该网站的工作方式。
为什么 Clojure 没有针对 Nodejs 和浏览器的 reader 条件?因为它们是不同的环境,拥有不同的工具和库。
目前我正在这样做
#?(:cljs (def is-browser (exists? js/window))) #?(:cljs (if (not is-browser) (require 'http)))
有没有更好的方法?
这是一个在 clojurescript (也许在 JS 本身中也是) 中的开放问题。
clojurescript
shadow-cljs 允许您定义自定义条件
https://shadow-cljs.github.io/docs/UsersGuide.html#_conditional_reading
然后您可以进行以下操作 (def browser? #?(:node false :cljs true))
(def browser? #?(:node false :cljs true))