lein cljsbuild
, belirli bir sırada derlendiklerinden emin olmadan başka bir ad alanı/dosya ile birlikte tanımlanan bir ad alanı/dosya bulmakta zorlanıyor.ClojureScript derleyici, aynı dizinde ad alanı/dosya bulamıyor.
project/
project.clj
src/
cljs/
contempo/
common/
defs.cljs
view/
core.cljs
navigation.cljs
navigation.cljs
sayfa etrafında gezinmek için Om bileşenlerini oluşturmak için bazı şeyler vardır ve core.cljs
bu belirli bir sayfa için ana giriş noktasıdır:
Benim dizin düzeni buna benzemez. ile
(ns contempo.view.navigation (:require ...))
core.cljs
başlar: ile navigation.cljs
başlar Ben lein cljsbuild
çalıştırdığınızda
(ns contempo.view.core (:require [contempo.view.navigation :as navigation]))
, alıyorum:
solace:Groov jfischer$ lein cljsbuild auto
Compiling ClojureScript.
Compiling "war/view/js/app.js" from ["src/cljs/contempo/common" "src/cljs/contempo/view"]...
Compiling "war/view/js/app.js" failed.
clojure.lang.ExceptionInfo: failed compiling file:src/cljs/contempo/view/core.cljs
... snipped stacktrace ...
Caused by: clojure.lang.ExceptionInfo: No such namespace: contempo.view.navigation at line 1 src/cljs/contempo/view/core.cljs
ben ondan contempo.view.navigation
tüm başvuruları kaldırarak işe alabilirsiniz core.cljs, lein cljsbuild auto
'u çalıştırarak ve derlemenin tamamlanmasına izin verdikten sonra, onları geri getirerek ve kaydederek (böylece cljsbuild değişiklikleri alır) aptalca ve gerekli olmamalı.
(defproject contempo "0.0.0-SNAPSHOT"
:description "Experimenting with ClojureScript and Om"
:dependencies [[org.clojure/clojure "1.6.0"]
[org.clojure/clojurescript "0.0-2740"]
[org.clojure/core.async "0.1.346.0-17112a-alpha"]
[org.omcljs/om "0.8.7"]]
:plugins [[lein-cljsbuild "1.0.4"]]
:clean-targets ^{:protect false} ["war/view/js/app.js"
"war/view/js/out"]
:cljsbuild {:builds [{:id "view-dev"
:source-paths ["src/cljs/contempo/common"
"src/cljs/contempo/view"]
:compiler {:output-to "war/view/js/app.js"
:output-dir "war/view/js/out"
:optimizations :none
:cache-analysis true
:source-map true}}]})
yapıyorum yanlış bariz bir şey var mı: gibi
Benim project.clj
görünüyor? Bu baktığım her ClojureScript projesine oldukça benziyor.
Güncelleme: Tiny iskelet proje hata gösterir işte burada: namespace-error-demo.zip
Hata/uyarılar olmadan benim için çalışır. Dairesel bağımlılıklarınız olduğunu veya kaynak dosyalardan birinin derlenemediğinden şüpheleniyorum. Ayrıca, tek kaynak yolunu kullanarak denemeye değer olabilir "src/cljs/contempo /" ' – Jarlax
Dairesel bağımlılıklar için kontrol edildi, sadece bir kaynak yoluna çöktü ve aslında hemen hemen tüm kod kaldırıldı ve ben hala hata. Bunu gösteren küçük bir proje şu adrestedir: [namespace-error-demo.zip] (http://www.mohiji.org/files/namespace-error-demo.zip) – Jonathan
Demoyu yeni indirdim ve sorunsuz bir şekilde derledim. Lein clean ile deneyin. Bu işe yaramazsa, ~/.m2/'dizinine gidin ve Clojurescript ve Clojure bağımlılıklarınızı silin, kötü bir durumda olabilir. – sbensu