2024年Clojure状态调查!

欢迎!请参阅关于页面以获取更多有关此方式的信息。

+1投票
Calva

你好,我正在尝试设置Clojure编辑器,目前在Calva上遇到一些困难。我有一个全栈项目(通过Figwheel主程序使用cljs),当我运行repl(jack-in)时,Lein + Figwheel主程序的配置都启动了,但我无法切换到cljs repl,得到错误 "无法读取null的属性(读取'switchNS') "

1 答案

+1投票
Peter Strömberg

Hello,

应根据项目启动方式。以下是我使用Leiningen模板进行Figwheel Main所做的工作:

$ lein new figwheel-main hello-world.core -- +npm-bundle --reagent

  1. 按照说明安装npm模块,然后使用VS Code打开项目。
  2. Jack-in
  3. 选择“Leiningen + Figwheel Main”项目类型
  4. 选择“无别名”
  5. 选择“dev”配置文件
  6. 等待Clojure REPL启动
  7. 选择启动“dev”构建
  8. 等待ClojureScript REPL启动,然后将在浏览器中打开ClojureScript应用程序
  9. 选择连接到“dev”构建
  10. 打开 src/figwheel_main_from_lein_template/core.cljs加载当前文件及其依赖
  11. 开始调试。

请告诉我如果您有类似的问题是否也可以工作。如果不了解您的项目,很难提供针对性的指导。

您收到的错误消息似乎是一个Calva应该修复的bug。您能描述一下您是如何“切换到cljs repl”的吗?

您好,感谢您的详细回复。我发现这仅在ClojureScript代码有编译错误时发生,然后在Calva中只有clj shell。
现在在Calva中进行"jack-in"之前,我在shell中运行`lein fig:build`以确保没有错误并且已编译,然后我打开Calva并按照顺序运行jack-in,一切正常,我得到clj/cljs的组合shell。不知道为什么,vs-code在jack-in时对任何ClojureScript编译错误保持沉默。
...