首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >全堆栈Clojure:如何在开发过程中同时获得浏览器REPL和Server

全堆栈Clojure:如何在开发过程中同时获得浏览器REPL和Server
EN

Stack Overflow用户
提问于 2019-01-29 17:05:29
回答 2查看 184关注 0票数 2

我正在开发我的第一个全堆栈Clojure应用程序。在Linux中,我成功地实现了以下功能:

  • 莱宁根
  • 带有热代码和CSS重新加载的fig轮+栀子=交互式SPA开发
  • leiningen REPL for Server,具有反读行,在REPL启动服务器,并向浏览器提供SPA服务
  • 服务器提供leiningen uberjar编译、jar文件运行和SPA服务。

我不知道如何设置一个开发环境,它允许我同时拥有一个服务器REPL和一个state,这样我就可以集成用于websocket支持的sente,并监视state中的重新框架app-db状态。我想,理想情况下,我希望通过sente与服务器进行SPA通信,并让fig轮+ gargenauto运行。

EN

回答 2

Stack Overflow用户

发布于 2019-01-29 18:09:50

我的回答并不是你所要求的,但你可能会感兴趣,尽管如此,我相信你还是会容忍我的。

你试过光模编辑器了吗?它的目标是成为一个具有最小设置的完整堆栈编辑器。事实上,当您启动它时,您可以为您的项目预选模板,并自动获得后端的REPL和SPA的REPL,以及自动重新加载等。它没有所有Emacs的好东西,但我发现快速安装非常好。

票数 0
EN

Stack Overflow用户

发布于 2019-01-29 22:49:40

事实证明,在ClojureScript应用程序中使用的sente函数,名为make-channel-套接字!,用于启动与运行在应用服务器上的socket服务器的连接,它有第三个参数,options map,键名为:host。默认情况下,sente将:host值设置为加载ClojureScript应用程序的服务器。

如果一个人运行‘leinfig轮’并通过fig轮服务器加载ClojureScript应用程序,在默认情况下,sente会尝试连接到该主机服务器,当然,这并不是运行sente服务器。

对于开发模式,必须: 1.在终端(例如,'lein‘)中启动应用程序服务器。2.用'localhost:’3的主机值编译ClojureScript应用程序。通过另一个终端的主机运行ClojureScript应用程序。从浏览器连接到主机服务器(例如,'localhost:3449')

当ClojureScript应用程序通过fig轮服务器加载到浏览器中时,它执行sente连接调用,该调用现在连接到应用服务器中运行的sente服务器。

这太棒了!现在我们可以使用for,它的REPL作为浏览器,同时运行app服务器和它的REPL。

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

https://stackoverflow.com/questions/54426166

复制
相关文章

相似问题

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