如何在Heroku中部署和运行clojurescript应用程序

时间:2018-07-16 07:48:21

标签: heroku clojure clojurescript

我有一个https://github.com/Day8/re-frame-template的clojurescript应用程序模板。因此,我想部署该模板而不对Heroku进行任何修改。因此,我按照README上的说明进行操作 lein clean lein cljsbuild once min。然后,我还按照Heroku上的说明在https://devcenter.heroku.com/categories/clojure-support

上部署clojure。

但是当我检查应用程序是否全部运行时,我得到的是应用程序错误。 所以我的问题是:

  
      
  1. 如何构建clojurescript应用并将其部署到heroku?
  2.   
  3. 部署clojurescript应用程序与clojure应用程序有什么区别
  4.   
  5. 我需要Clojure服务器才能运行clojurescript吗?
  6.   
  7. 如何甚至在桌面上运行独立的clojurescript应用程序?
  8.   
  9. 生成的app.js与运行clojurescript应用程序有何关系?
  10.   

我发现在Heroku上部署和运行clojure应用程序以及在桌面上运行独立的应用程序非常容易,我希望clojurescript也是如此。

编辑: 错误在这里:https://floating-depths-33030.herokuapp.com/

2 个答案:

答案 0 :(得分:1)

要清除该主题以供将来的人们找到heroku + clj / cljs,下面是一些工作示例。 heroku上对clojure的支持意味着您可以部署Clojure Webapp。但是cljs(像re-frame)实际上是纯JavaScript,与heroku clojure支持无关。

https://github.com/kawasima/back-channeling

https://github.com/zerg000000/table-tmpl

答案 1 :(得分:1)

要将re-frame应用程序部署到Heroku,需要一个clojure服务器,这是ring的来源。要添加ring,需要一个在创建新的+handler项目时添加re-frame

  

lein new re-frame <project-name> +handler

这将创建一个项目,该项目的配置使其可以部署到Heroku

部署到Heroku的步骤:

  
      
  1. lein clean
  2.   
  3. lein with-profile prod uberjar
  4.   
  5. git init
  6.   
  7. git add .
  8.   
  9. git commit -m "first commit"
  10.   
  11. git push heroku master
  12.   
  13. heroku ps:scale web=1
  14.   
  15. heroku open
  16.   

此应用程序现已可以访问。