【问题标题】:Launch cljs nREPL connected to lein project template启动连接到 lein 项目模板的 cljs nREPL
【发布时间】:2019-09-01 13:43:25
【问题描述】:

我创建了一个 ClojureScript 项目,使用:

lein new re-frame my-project

然后我使用 Cursive 在 IntelliJ 中打开它。在终端中输入lein dev 后,它会提示我以下消息:

shadow-cljs - HTTP server available at http://localhost:8280
shadow-cljs - server version: 2.8.52 running at http://localhost:9630
shadow-cljs - nREPL server started on port 8777
shadow-cljs - watching build :app
[:app] Configuring build.
[:app] Compiling ...
[:app] Build completed. (203 files, 1 compiled, 0 warnings, 3.65s)

我可以使用将我定向到 REPL 的链接打开服务器,但不能使用连接到浏览器的 nREPL。在他们的documentation 之后,我将shadow-cljs clj-repl 输入到另一个终端,这会打开一个REPL,但不会打开一个连接到我的浏览器或项目的REPL。如果我在 REPL 中输入(js/alert "hi m8"),它会响应:

Syntax error compiling at (REPL:2:1).
No such namespace: js

我的问题是,我如何使用它说已经启动的 nREPL,最好如何在 IntelliJ 的集成 REPL 中访问它?

谢谢。

更新

它的工作方式如下,但如果有人知道如何在 Cursive / IntelliJ 中让它工作:

那就太好了。

【问题讨论】:

    标签: clojure clojurescript cursive shadow-cljs


    【解决方案1】:

    nREPL 连接将始终以 Clojure 模式启动。您可以通过调用(shadow.cljs.devtools.api/repl :app) 将其切换为使用CLJS,并通过:cljs/quit 返回Clojure 模式。

    但是,您应该连接到“Clojure REPL”->“远程”,然后使用端口 8777 连接到“localhost”。这在re-frame 模板中通过shadow-cljs.edn :nrepl {:port 8777} 配置为默认值。

    您发布的屏幕截图看起来像您连接到创建的随机端口lein。这也可以,但需要对nREPL middleware 进行额外配置。

    【讨论】:

      【解决方案2】:

      我想通了。您必须在另一个终端中使用shadow-cljs cljs-repl app

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 2015-04-28
        • 1970-01-01
        • 1970-01-01
        • 2013-08-15
        • 1970-01-01
        • 2013-07-25
        • 1970-01-01
        相关资源
        最近更新 更多