EDIT: SOLVED Моя проблема исходила от двух вещей: у меня была ошибка синтаксиса в defmacro. Я удалил его и написал небольшую функцию, к которой я мог бы получить доступ (только после перезапуска repl). Большая вторая проблема заключалась в том, что я был незнаком с тем фактом, что нужно было перезапустить повторный запуск, чтобы признать любые изменения, которые я сделал. Никогда бы не подумал об этом без конкретного ответа ниже =).Поиск пространства имен из lein repl
Я работал над учебником по пьедесталу на github, и он рекомендует тестировать некоторые вещи через repl - моя проблема в том, что я не могу найти пространство имен/макросы или функции, с которыми мне интересно работать.
user=> (require '(junkyard-client.html-templates))
nil
user=> (def t (junkyard-client-templates))
user=> CompilerException java.lang.RuntimeException: Unable to resolve symbol:
junkyard-client-templates in this context, compiling:
(C:\Users\Ben\AppData\Local\Temp\form-init3290053673397861360.clj:1:8)
Я пробовал другие вещи синтаксически, такие как (требуется «Junkyard-client.html-шаблоны). Это на v2.0.10 в пьедестале учебнике: https://github.com/pedestal/app-tutorial/wiki/Slicing-Templates
EDIT: это то, что я пытаюсь добраться до
(ns junkyard-client.html-templates
(:use [io.pedestal.app.templates :only [tfn dtfn tnodes]]))
(defmacro junkyard-client-templates
[]
{:junkyard-client-page (dtfn (tnodes "junkyard-client.html" "hello") #{:id})
:other-counter (dtfn (tnodes "tutorial-client.html" "other-counter") #{:id}
})
проблемной стадии https://github.com/Sammons/clojure-projects/tree/d9e0b4f6063006359bf34a419deb31a879c7a211/pedestal-app-tutorial/junkyard-client
решена этап
Пространство имен по-прежнему необоснованно? user => (require '[junkyard-client.html-templates: as templates]) user => Исключение пространства имен' junkyard-client.html-templates 'не найдено clojure.core/load-lib (core.clj: 5380) Должно быть, я делаю что-то странное. Я начинаю замену из корневого каталога (клиента junkyard), и я могу успешно (без проблем) запускать. Спасибо за этот ответ, хотя он помогает мне более четко понять, как все должно работать. – Catalyst
Попробуйте запустить 'lein repl' из каталога с файлом' project.clj', чтобы он забирал ваши зависимости и конфигурацию. – Jared314
Вот откуда я убегаю, он подключается к проекту и загружает зависимости – Catalyst