3

如果在 .cljs 文件中我定义了这样的文件:

主文件

   (ns project.main
      (:use [project.secondfile :only [my-var]]))

   (js/alert my-var)

第二文件.cljs

   (ns project.secondfile)
   (def my-var "Hi")

我收到“引用的 var project.secondfile/my-var 在 src-cljs/main.cljs 中不存在”。但是,它在浏览器中正常工作,因为两者都已编译(并且使用编译 :whitespace 它们可以很好地相互引用)。但显然,它在 bREPL 中不起作用,因为它们没有相互引用。

这是不可避免的事情还是我做错了什么?

谢谢!

4

1 回答 1

1

我已经尝试了您的代码,并且在我当前的配置中运行良好。我遇到了与您的问题类似的其他问题,在这些情况下,您可以secondfile.cljs在尝试编译和加载main.cljs. 在这种情况下,这个技巧可以正常工作。也许问题是secondfile.cljs(和def my-var)在 cljsbuild 编译之前不存在,所以当您尝试使用此代码时my-var,此代码不可用

我希望这可以帮助你
胡安

于 2013-10-25T09:06:56.350 回答