在生产中获取Clojurescript repl / connect以不编译?

时间:2012-10-14 01:30:07

标签: clojure clojurescript

在我的clojurescript代码中,我有以下内容:

(defn onload [] (repl/connect "http://localhost:9000/repl"))

(set! (.-onload js/window) onload)

Clojurescript repl在开发中非常有用,但我在制作过程中将它留在代码中犹豫不决。在开发(简单编译)期间使用上述代码的最简洁方法是什么,但在生产(高级编译)期间不存在?

3 个答案:

答案 0 :(得分:7)

modern-cljs教程实际上准确地描述了如何解决此问题here

希望有所帮助!

答案 1 :(得分:3)

不幸的是,目前没有任何明确定义的方法可以在ClojureScript中进行条件编译。

您可以添加配置变量来控制是否以各种方式启动REPL,但一种快速简便的方法是获取当前页面的主机名,并且只有repl/connnect才会调用它“ localhost“或您用于开发工作的任何其他域。

答案 2 :(得分:1)

我认为lein2配置文件和cljsbuild src-paths munging的组合可以解决问题。例如,创建一个简单地加载你的repl的命名空间,并用最后一次编译运行的配置文件将其排除(可能需要在另一个src-path目录中创建一个虚拟命名空间)。