我正在开发一个Clojure程序,并且我使用
(:use modulename :reload)
问题出现在大约100个clj文件中,导致整个系统变得越来越慢。是否还有其他人遇到过这个问题?如果是,你们是如何解决的?
我正在开发一个Clojure程序,并且我使用
(:use modulename :reload)
问题出现在大约100个clj文件中,导致整个系统变得越来越慢。是否还有其他人遇到过这个问题?如果是,你们是如何解决的?
ns
表单中使用:reload
。这样做是错的,十次有九次是错误的:reload
是为REPL使用而设计的,而不是用于命名空间声明。如果命名空间foo
如何知道命名空间bar
已经加载并需要重新加载以使foo
正常工作?如果你的设置真的如此复杂,这样做才有意义,那么你可能有比启动时间更大的问题。
C-c
C-k
可以重新加载当前缓冲区及其所有依赖项。 - amalloy(use [foo :reload])
做了同样的事情。但是,在源文件中放置这个是疯狂的。您不希望每次启动应用程序时都加载一打命名空间;只有在开发过程中更改内容时才需要加载。 - amalloy