Ссылка на внешние пространства имен clojurescript

Если в файле.cljs я определяю файл следующим образом:

main.cljs

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

   (js/alert my-var)

secondfile.cljs

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

Я получаю "Реферальный var project.secondfile/my-var не существует в src-cljs/main.cljs". Тем не менее, он работает нормально в браузере, так как оба компилируются (и с компиляциями: пробелы они могут ссылаться друг на друга просто отлично). Но очевидно, что в bREPL это не работает, так как они не ссылаются друг на друга.

Это что-то неизбежное или я делаю что-то не так?

Спасибо!

1 ответ

Решение

Я попробовал ваш код и отлично работает в моей текущей конфигурации. У меня были другие проблемы, похожие на ваш вопрос, и в этих случаях вы можете попробовать скомпилировать и загрузить secondfile.cljs в Brepl, прежде чем пытаться скомпилировать и загрузить main.cljs, В этом случае этот трюк работает отлично. Может быть, проблема в том, что secondfile.cljsdef my-var) не существовало до компиляции cljsbuild, поэтому, когда вы пытались использовать это my-var этот код не был доступен

Я надеюсь, это поможет вам
Juan

Другие вопросы по тегам