首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何运行lein run和lein figwheel?

如何运行lein run和lein figwheel?
EN

Stack Overflow用户
提问于 2015-12-19 08:46:27
回答 2查看 1.5K关注 0票数 2

有一段时间我一直在运行lein figwheel来启动我的应用程序。我使用luminus模板生成了这个项目。然而,最近当我连接到数据库时,我发现lein figwheel不允许我连接到数据库。我假设这是因为它没有初始化应用程序。这很奇怪,因为它将重新加载我的普通clj文件没有任何问题。

但是,如果我只使用lein run,那么我就有了数据库连接。

在四处转转之后,我重读了Luminus文档,它说我需要同时运行这两种方法。这就是我非常困惑的地方。lein run打开一个端口到3000,而figwheel打开一个端口到3449。就像我说的,第一个让我连接到数据库,另一个让我自动构建。我要同时连接两个端口吗?那么,要同时获得这两个世界,我错过了什么步骤呢?

EN

回答 2

Stack Overflow用户

发布于 2016-06-08 02:25:20

Harley在对另一个答案的评论中提到了这一点,但我想保证这一点。首先,您可以随心所欲地运行您的服务器(我从repl启动,但您也可以使用lein run)。然后使用浏览器导航到您选择运行的任何端口。然后在另一个终端上运行lein figwheel,它就会连接起来。

票数 1
EN

Stack Overflow用户

发布于 2015-12-21 01:26:14

我也是,从来没有同时做过这两件事。然而,我把它们分开来做,不同的端口处理不同的“服务”。端口3000是http端口。如果你是从一个luminus模板构建的,那么你可能正在构建一个网站。因此,请使用您的浏览器连接到3000。

端口3449是用于将更改推送到浏览器的web套接字端口。因此,您启动了一个命令行lein figwheel,它将查找您的3449端口来与浏览器进行对话。现在请注意,此命令行既是repl程序又是监视程序。当你对源码进行修改时,figwheel会重新编译你的修改,并将其发送到3449处的页面。您还可以通过更改repl的名称空间(即in-ns)来执行repl中的代码。

所以,两个不同的端口,两个不同的协议。端口3000向浏览器返回什么?嗯,这取决于你的服务器,你告诉它的任何页面。然而,3449就是它默认的型号。

真正的问题是如何让figwheel连接到浏览器中的现有页面,而不是通过figwheel启动。我想我已经看到有人在你的页面中嵌入了一个JavaScript函数,它与figwheel对话/收听。

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

https://stackoverflow.com/questions/34366073

复制
相关文章

相似问题

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