我似乎不知道 REPL 的一些重要方面,使用figwheel
or lein-autoreload
。
如果我使用上述插件之一启动 REPL 并对其中一个项目文件进行更改,我通常会收到编译器警告。通常,这意味着我必须重新启动 REPL,这违背了这些插件的全部目的。
让我给你举个例子。我有三个文件core.cljs
:demoscene.cljs
和objects.cljs
. 它们按照我提到它们的顺序相互引用,例如(:require [ns.demoscene :as demoscene])
。我的主要功能位于core.cljs
.
我开始使用 figwheel REPL lein figwheel
,启动我的浏览器,一切正常。
如果我在其中编辑函数objects.cljs
并保存更改,则会收到编译器警告:
Compile Warning src/cljs/ns/demoscene.cljs
update already refers to: cljs.core/update being replaced by: ns.demoscene/update
这在不止一个层面上真的很奇怪:
- 我没有编辑
demoscene.cljs
- 为什么要
cljs.core/update
换成ns.demoscene/update
- 如果我重新加载站点(我不重新启动 figwheel 会话),一切都会再次正常。我的更改已应用等。
你能告诉我,后台发生了什么吗?我缺少什么来理解这种情况?我该怎么做才能避免这些警告?
如果您需要更多资源,请告诉我。