我一直在玩 clojurescriptone - 整洁的项目 - 试图了解 clojurescript 的工作原理。我不清楚浏览器、浏览器 repl 和 http 服务器这三个组件是如何交互的。
我在我的开发环境中使用 emacs
为了更好地理解 ClojureScript(CS),我决定尝试移植 clojurescriptone(CS1) 以使用 lein2 并使用 nrepl 作为我的 repl。该端口确实有效,我能够让 CS1 环境运行并与浏览器交互。我更喜欢 - 现在 - 不要启动一个劣质的 lisp 进程来使用 CS repl,而是在 clojure repl 中运行 CS repl。唯一的缺点是 CS repl 从标准输入获取输入,而 emacs 提示我使用标准输入。为了解决这个问题,我试图替换 CS1 中的一些代码,以便它从 Chas Emerick 编写的 piggieback 库中启动 repl。
在这样做的过程中,我已经达到了我对这些组件如何交互的理解的极限。显然,从我可以收集到的浏览器 repl 是一个侦听某个端口的“服务器”;虽然一直以来我都认为是某种客户端向 http 服务器发送请求并在评估结果后将输出重定向到浏览器(如何??)。现在我不确定情况是否如此。
这些组件如何交互?
抱歉解释太长了!!!
席德