我们有一个项目和2个版本:
:cljsbuild {:builds
[
{:id "devguidelines"
:source-paths ["src"]
:figwheel {:on-jsload "vr.guidelines/on-js-reload"}
:compiler {:main vr.guidelines
:asset-path "js/compiled/out"
:output-to "resources/public/js/compiled/vr.guidelines.js"
:output-dir "resources/public/js/compiled/out"
:source-map-timestamp true}}
{:id "testguidelines"
:source-paths ["src" "test"]
:compiler {:output-to "resources/public/js/test/test.guidelines.js"
:output-dir "resources/public/js/test/out"
:optimizations :none
:main vr.test-runner
:asset-path "js/test/out"
:source-map true
;; :source-map-timestamp true
:cache-analysis true }}
当我开始时:
rlwrap lein figwheel devguidelines testguidelines
它们都是在repl中构建的,我可以访问testguidelines而不是devguidelines,这使得repl无用。 (为构建启动ClojureScript REPL:testguidelines)如何配置repl以重新加载devguidelines而不是testguidelines?
答案 0 :(得分:1)
我不确定在figwheel中运行两个cljsbuild是否真的有意义; figwheel编译代码并将其提供给浏览器 - 它将如何决定服务的构建?请注意,figwheel至少需要一个具有:optimizations :none
的构建,这是默认构建 - 因此两个构建都符合条件。
在我看来,只要figwheel重新编译文件,你就会尝试运行测试。执行此操作的方法是使用:on-jsload
挂钩来触发您编写的测试运行器(例如,您的vr.test-runner
)。
编辑:你完全可以在同一个REPL中运行两个版本,尝试使用启动figwheel时列出的switch-to-build
图形函数。谢谢@ user2906524!
答案 1 :(得分:1)
ClojureScript REPL一次只能连接一个“构建”。如果您要自动构建两个或多个构建,则可以切换“构建”,通过退出当前REPL来连接REPL。要退出,您必须在提示符下输入:cljs/quit
。
然后,Figwheel将询问您是否要将REPL连接到其他版本并列出选项。