在我的 clojurescript 代码中,我有以下内容:
(defn onload [] (repl/connect "http://localhost:9000/repl"))
(set! (.-onload js/window) onload)
Clojurescript repl 在开发中非常有用,但在生产过程中我很犹豫是否将其留在代码中。在开发期间(简单编译)存在上述代码但在生产期间不存在(高级编译)的最干净的方法是什么?
在我的 clojurescript 代码中,我有以下内容:
(defn onload [] (repl/connect "http://localhost:9000/repl"))
(set! (.-onload js/window) onload)
Clojurescript repl 在开发中非常有用,但在生产过程中我很犹豫是否将其留在代码中。在开发期间(简单编译)存在上述代码但在生产期间不存在(高级编译)的最干净的方法是什么?
不幸的是,目前在 ClojureScript 中没有任何定义明确的方法来进行条件编译。
您可以添加配置变量来控制是否以多种方式启动 REPL,但一种快速简便的方法是获取当前页面的主机名,并且仅repl/connnect
在它是“localhost”或您的任何其他域时调用重新用于开发工作。
我认为 lein2 配置文件和 cljsbuild src-paths munging 的组合可以解决问题。例如,创建一个简单地加载您的 repl 的命名空间,并使用配置文件运行排除它以进行最终编译(可能需要在另一个 src-path 目录中创建一个虚拟命名空间)。