Clojure(Garden)とClojureScript(Reagent)の間で名前空間を共有する必要があります。cljcファイルを必要としないClojure
は、現在のプロジェクトフォルダには、次のようになります。
src/
clj/
name/
css.clj
cljs/
name/
core.cljs
cljc/
name/
config.cljc
config.cljc
ファイルには、次の名前空間を持っている:(ns name.config)
。
私は、この名前空間を内部でclj/name/css.clj
から参照しようとしました。
(ns name.css
(:require [name.config :as config]))
ただし、Gardenからのコンパイルエラーが発生します。
原因:java.io.FileNotFoundException:クラスパスにname/config__init.classまたはname/config.cljが見つかりませんでした。
私はそれがcljc
ファイルをチェックしていないと思います。
"src/cljc"
を:source-paths
ベクトルにproject.clj
とに追加しましたが、ビルドプロセスを再開しても同じエラーが発生します。
Clojure 1.7.0と1.8.0でこの現象が見られます。
ClojureScript(ビルドを処理するFigwheel)で問題なく動作することに言及する価値があるかもしれません。私は問題なく新しい名前空間を要求し使用することができます。
.cljc
のファイルのいずれも、それらを必要とすることさえ言及されていないので、私は何かが本当に簡単に欠けているに違いないようです。
'project.clj'は' '1.7.0" 'に' org.clojure/clojure'を持ち、REPLを起動すると 'Clojure 1.7.0'が確認されます。 'project.clj'で設定する必要があるものは何ですか? –
1.8.0を使用しても同じ問題が発生します。 –
あなたはどのバージョンのLeinigenを使用していますか?存在する場合は、最新のものを試してみてください。 –