启动连接到 lein 项目模板的 cljs nREPL
Launch cljs nREPL connected to lein project template
我使用以下方法创建了一个 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)
我可以使用 link 打开服务器,它将我定向到一个 REPL,但不是连接到浏览器的 nREPL。按照他们的 documentation,我在另一个终端中输入 shadow-cljs clj-repl
,这会打开一个 REPL,但不会打开一个连接到我的浏览器或项目的终端。如果我在 REPL 中输入 (js/alert "hi m8")
它会响应:
Syntax error compiling at (REPL:2:1).
No such namespace: js
我的问题是,我该如何使用它所说的已经启动的 nREPL,最好是如何在 IntelliJ 的集成 REPL 中访问它?
谢谢。
更新
它已经按照下面的方式工作了,但是如果有人知道如何让它在 Cursive / IntelliJ 中工作:
那就太好了。
我想通了。您必须在另一个终端中使用 shadow-cljs cljs-repl app
。
nREPL 连接将始终以 Clojure 模式启动。您可以通过 :cljs/quit
.
将 (shadow.cljs.devtools.api/repl :app)
和 return 调用到 Clojure 模式,从而将其切换为使用 CLJS
但是,您应该连接到 "Clojure REPL" -> "Remote",然后使用端口 8777
连接到 "localhost"。这是通过 shadow-cljs.edn
:nrepl {:port 8777}
.
在 re-frame
模板中配置为默认值
您发布的屏幕截图看起来像是您连接到创建的随机端口 lein
。这也可以工作,但需要对 nREPL middleware.
进行额外配置
我使用以下方法创建了一个 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)
我可以使用 link 打开服务器,它将我定向到一个 REPL,但不是连接到浏览器的 nREPL。按照他们的 documentation,我在另一个终端中输入 shadow-cljs clj-repl
,这会打开一个 REPL,但不会打开一个连接到我的浏览器或项目的终端。如果我在 REPL 中输入 (js/alert "hi m8")
它会响应:
Syntax error compiling at (REPL:2:1).
No such namespace: js
我的问题是,我该如何使用它所说的已经启动的 nREPL,最好是如何在 IntelliJ 的集成 REPL 中访问它?
谢谢。
更新
它已经按照下面的方式工作了,但是如果有人知道如何让它在 Cursive / IntelliJ 中工作:
那就太好了。
我想通了。您必须在另一个终端中使用 shadow-cljs cljs-repl app
。
nREPL 连接将始终以 Clojure 模式启动。您可以通过 :cljs/quit
.
(shadow.cljs.devtools.api/repl :app)
和 return 调用到 Clojure 模式,从而将其切换为使用 CLJS
但是,您应该连接到 "Clojure REPL" -> "Remote",然后使用端口 8777
连接到 "localhost"。这是通过 shadow-cljs.edn
:nrepl {:port 8777}
.
re-frame
模板中配置为默认值
您发布的屏幕截图看起来像是您连接到创建的随机端口 lein
。这也可以工作,但需要对 nREPL middleware.