首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Clojure中cljsbuild加载缓慢

Clojure中cljsbuild加载缓慢
EN

Stack Overflow用户
提问于 2016-07-22 12:35:19
回答 1查看 282关注 0票数 0

我是Clojure的新手,我正在尝试建立一个开发环境,在这个环境中我可以使用ring-server和cljsbuild动态加载我的web项目文件

我的项目文件中有以下代码片段

代码语言:javascript
复制
:ring {
      :handler cjohansen-no.web/app
      ;;:auto-refresh true
      ;;:auto-reload? true
      ;;:reload-paths ["resources","src"]
      ;;:refresh-paths ["resources","src"]
    }
  :aliases {
        "start-server" ["ring" "server-headless"]
        "build-site" ["run" "-m" "cjohansen-no.web/export"]
        "build-html" ["run" "-m" "cjohansen-no.web/export-pages"]
        "build-js" ["cljsbuild" "auto" "dev"]
        "build-web" ["do" ["build-site"] ["build-js"]]
        "build-dev" ["pdo" ["build-web"] ["start-server"] ["auto" "build-html"]]
            }
  :source-paths ["src"]
  :test-paths ["test/cjohansen_no" "test/cljs" "spec"]
  :clean-targets [:target-path "./build/js/out"
                  :compile-path "classes"
                  :output-paths "./build/js/output"
                  "build/js/main.js.map"
                  ]
  :main cjohansen-no.web
  :clean-non-project-classes true
  :figwheel {
    ;;:server-port 3000
    :css-dirs ["resources/public/css"]
    :reload-clj-files {:clj true :cljc false}
    :ring-handler cjohansen-no.web/app
    :repl false
  }
  :cljsbuild {
    :builds [

      {
      ;; :notify-command ["growlnotify" "-m"]
      :id "dev"
      :source-paths ["src/cljs"]
      :figwheel {
          :websocket-host :js-client-host
          :autoload false
          :reload-dependents true
          :debug true
      }
      :compiler {
             :main scripts.core
             :output-to "resources/public/js/main.js"
             :output-dir "resources/public/js/out"
             :optimizations :none
             :source-map true
             :source-map-timestamp true
             :recompile-dependents false
             :pretty-print true
             :asset-path "js/out"

             ;;:notify-command ["bin/phantomjs"  "bin/speclj.js" "resources/public/js/main.js"]
           }

      }, 
....
}
  :profiles {
            :dev {
                :dependencies [
                  ;;[figwheel "0.5.4-7"]
                ]
                :plugins [
                    [lein-pdo "0.1.1"]
                    [lein-ring "0.9.7"]
                    [lein-cljsbuild "1.1.3"]
                    [lein-figwheel "0.5.4-7"]
                  ]
             }

我使用这个代码片段来运行我的服务器

代码语言:javascript
复制
(def app (->
            (stasis/serve-pages get-pages)
            (optimus/wrap get-assets optimizations/all serve-live-assets)
            ;;(wrap-cljsbuild "/js/" cljsbuild)
             wrap-content-type
             ;; wrap-reload
             wrap-utf-8))

我正在使用Optimus加载我的资产

代码语言:javascript
复制
(defn get-assets []
  (concat (assets/load-bundle "public" "styles.css" [#"css/.+\.css$"])
    (assets/load-assets "public" [#"img/.*" "/questions.json"])
    (assets/load-bundle "public" "main.js" [#"js/.+\.js"])
    ))

当我运行lein with-profile dev pdf start-server, cljsbuild auto并打开我的网站时,由"dev“构建编译的js文件及其依赖项永远无法完成加载。为什么环服务器这么慢?

我应该以这种方式引用构建文件吗?我应该把它捆绑到一个文件中吗?

所使用的概要文件用于开发目的。

EN

回答 1

Stack Overflow用户

发布于 2016-07-30 15:44:40

如果您刚开始使用clojure/clojurescript,那么这是一个非常复杂的project.clj文件。有可能的是,只从裸露的lein figwheel模板开始可能是一个获得基本环境的好方法,然后在你知道你需要额外的比特时添加到它。简单地解析你的项目文件可能会让事情变慢。

basic figwheel模板会设置一些东西,以便在必要时重新加载--你真的不需要担心太多额外的东西。

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38518242

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档