9

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

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

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

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

4

3 回答 3

7

现代cljs教程实际上在这里准确描述了如何解决这个问题

希望有帮助!

于 2013-07-01T17:57:39.900 回答
3

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

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

于 2012-10-14T17:46:19.607 回答
1

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

于 2013-02-07T16:13:57.647 回答