在构建阶段,试剂Figwheel npes

时间:2015-01-03 00:55:47

标签: clojure leiningen clojurescript cljsbuild reagent

我正在运行lein figwheel +试剂,虽然该网站似乎正在更新,但我无法追踪会导致以下堆栈跟踪的原因。有什么地方我应该看看吗?这个错误意味着什么?

lein figwheel
Figwheel: focusing on build-id 'app'
Compiling ClojureScript.
Figwheel: Starting server at http://localhost:3449
Figwheel: Serving files from '(dev-resources|resources)/public'
Compiling "resources/public/js/app.js" from ("src/cljs" "env/dev/cljs")...
Compiling "resources/public/js/app.js" failed.
java.lang.NullPointerException:
          closure.clj:325 cljs.closure/compiled-file
            core.clj:2557 clojure.core/map[fn]
          LazySeq.java:40 clojure.lang.LazySeq.sval
          LazySeq.java:49 clojure.lang.LazySeq.seq
              RT.java:484 clojure.lang.RT.seq
             core.clj:133 clojure.core/seq
             core.clj:685 clojure.core/concat[fn]
          LazySeq.java:40 clojure.lang.LazySeq.sval
          LazySeq.java:49 clojure.lang.LazySeq.seq
              RT.java:484 clojure.lang.RT.seq
             core.clj:133 clojure.core/seq
             core.clj:685 clojure.core/concat[fn]
          LazySeq.java:40 clojure.lang.LazySeq.sval
          LazySeq.java:49 clojure.lang.LazySeq.seq
             Cons.java:39 clojure.lang.Cons.next
             RT.java:1654 clojure.lang.RT.boundedLength
          RestFn.java:130 clojure.lang.RestFn.applyTo
             core.clj:626 clojure.core/apply
          closure.clj:993 cljs.closure/build
             core.clj:170 clojurescript-build.core/build-source-paths
      auto_builder.clj:59 figwheel-sidecar.auto-builder/autobuild[fn]
      auto_builder.clj:52 figwheel-sidecar.auto-builder/autobuild
form-init495530074882707163.clj:1 user/eval12375
       Compiler.java:6703 clojure.lang.Compiler.eval
       Compiler.java:6693 clojure.lang.Compiler.eval
       Compiler.java:7130 clojure.lang.Compiler.load
       Compiler.java:7086 clojure.lang.Compiler.loadFile
             main.clj:274 clojure.main/load-script
             main.clj:279 clojure.main/init-opt
             main.clj:307 clojure.main/initialize
             main.clj:342 clojure.main/null-opt
             main.clj:420 clojure.main/main
          RestFn.java:421 clojure.lang.RestFn.invoke
             Var.java:383 clojure.lang.Var.invoke
             AFn.java:156 clojure.lang.AFn.applyToHelper
             Var.java:700 clojure.lang.Var.applyTo
             main.java:37 clojure.main.main

这是我的project.clj:

(defproject project-name "0.1.0-SNAPSHOT"
  :description "FIXME: write description"
  :url "http://example.com/FIXME"
  :license {:name "Eclipse Public License"
            :url "http://www.eclipse.org/legal/epl-v10.html"}

  :source-paths ["src/clj" "src/cljs"]

  :dependencies [[org.clojure/clojure "1.6.0"]
                 [com.facebook/react "0.11.2"]
                 [reagent "0.5.0-alpha"]
                 [reagent-utils "0.1.0"]
                 [secretary "1.2.1"]
                 [org.clojure/clojurescript "0.0-2496" :scope "provided"]
                 [com.cemerick/piggieback "0.1.3"]
                 [weasel "0.4.2"]
                 [ring "1.3.2"]
                 [ring/ring-defaults "0.1.2"]
                 [prone "0.8.0"]
                 [compojure "1.3.1"]
                 [selmer "0.7.7"]
                 [environ "1.0.0"]
                 [leiningen "2.5.0"]
                 [figwheel "0.1.5-SNAPSHOT"]
                 [cljs-ajax "0.3.3"]]

  :plugins [[cider/cider-nrepl "0.8.2"]
            [lein-cljsbuild "1.0.3"]
            [lein-environ "1.0.0"]
            [lein-ring "0.8.13"]
            [lein-asset-minifier "0.2.0"]]

  :ring {:handler homing-pigeon.handler/app}

  :min-lein-version "2.5.0"

  :uberjar-name "homing-pigeon.jar"

  :minify-assets
  {:assets
    {"resources/public/css/site.min.css" "resources/public/css/site.css"}}

  :cljsbuild {:builds {:app {:source-paths ["src/cljs"]
                             :compiler {:output-to     "resources/public/js/app.js"
                                        :output-dir    "resources/public/js/out"
                                        :externs       ["react/externs/react.js"]
                                        :optimizations :none
                                        :pretty-print  true}}}}

  :profiles {:dev {:repl-options {:init-ns homing-pigeon.handler
                                  :nrepl-middleware [cemerick.piggieback/wrap-cljs-repl]}

                   :dependencies [[ring-mock "0.1.5"]
                                  [ring/ring-devel "1.3.2"]
                                  [pjstadig/humane-test-output "0.6.0"]]

                   :plugins [[lein-figwheel "0.2.0-SNAPSHOT"]]

                   :injections [(require 'pjstadig.humane-test-output)
                                (pjstadig.humane-test-output/activate!)]

                   :figwheel {:http-server-root "public"
                              :server-port 3449
                              :css-dirs ["resources/public/css"]
                              :ring-handler homing-pigeon.handler/app}

                   :env {:dev? true}

                   :cljsbuild {:builds {:app {:source-paths ["env/dev/cljs"]
                                              :compiler {:source-map true}}}}}

             :uberjar {:hooks [leiningen.cljsbuild minify-assets.plugin/hooks]
                       :env {:production true}
                       :aot :all
                       :omit-source true
                       ;;TODO: figure out how to clean properly
                       ;:prep-tasks [["cljsbuild" "clean"]]
                       :cljsbuild {:jar true
                                   :builds {:app
                                             {:source-paths ["env/prod/cljs"]
                                              :compiler
                                              {:optimizations :advanced
                                               :pretty-print false}}}}}

             :production {:ring {:open-browser? false
                                 :stacktraces?  false
                                 :auto-reload?  false}}})

1 个答案:

答案 0 :(得分:1)

我发现了问题。

我在core / rules.cljs中有一个空文件,并且编译器在它上面发出错误。