2024 年 Clojure 状态调查! 中分享您的想法。

欢迎!请参阅 关于 页面了解更多有关此功能的信息。

0 票数
ClojureScript

嗨,

从 cljs 1.10.748+ 开始,当请求节点编译且未明确指定 outdir 时,会创建 `.cljs_node_repl` 目录作为输出目录,而不是 out

默认的输出编译目录在 cljs.main -h 帮助中未提及,但据 https://script.clojure.org/reference/repl-and-main 中的说法,默认应为 out

编译源码

要编译 ClojureScript 源代码,通过
通过 -c 选项传递主命名空间给

java -cp src:cljs.jar cljs.main -c my-namespace.core

输出将写入由 -d
选项指定的目录(或未指定时为 out),或写入由 -o
选项指定的文件。

要重现
1. 下载 clojurescript 1.10.742 和 clojuresript 1.10.748 的 JAR 文件,https://github.com/clojure/clojurescript/releases
2. 从 https://script.clojure.org/guides/quick-start 创建入门级的 hello world 程序。
3. 执行 java -cp "src;cljs-1.10.748.jar" cljs.main -t node -c hello-world.core,观察到一个 `.cljs_node_repl` 目录被创建,而不是预期的 `out` 目录。

如果用更早的版本运行相同的命令,例如 java -cp "src;cljs-1.10.742.jar" cljs.main -t node -c hello-world.core,可以观察到会创建一个预期的 `out` 目录。

这看起来像一个回归。

解决方法是明确指定目录,例如 java -cp "src;cljs-1.11.60.jar" cljs.main -t node -d out -c hello-world.core

谢谢

1 个答案

0 票数

这很有意思,我想可能对选项进行了一些修补,也许这个疏忽了。我在这里打开了一个小问题 https://clojure.atlassian.net/browse/CLJS-3390

...