如何更改 Clojurescript cljs.main 源路径?

How to change Clojurescript cljs.main source path?

我正在关注 clojurescript.org's Quick Start 构建一个小应用程序。

默认情况下 cljs.main 希望您的 CLJS 直接位于 src(非标准)下:

指南提供的编译命令是:

clj --main cljs.main --compile hello-world.core --repl

我的问题很简单:如何将源根路径指定为 src/main/cljs 而不是默认的 src

我到处搜索并测试了我能想到的一切,但无法弄清楚如何进行这个看似简单的更改。

您需要在文件 deps.edn 中定义路径,该文件需要位于项目的顶级文件夹中,如下所示:

.
├── deps.edn
└── src
    └── main
        └── cljs
            └── hello
                └── core.cljs

deps.edn的内容是这样的:

{:deps {org.clojure/clojurescript {:mvn/version "1.10.758"}}
 :paths [:cljs-paths]
 :aliases {:cljs-paths ["src/main/cljs"]}}

示例文件:

(ns hello.core)

(println "Hello CLJS from hello.core")

我将编译 运行 来自 NodeJS 的示例,因此我传递一个标志 (--target node) 以将 NodeJS 设置为 运行 时间目标:

$ clj -m cljs.main --target node --output-to core.js -c hello.core
WARNING: When invoking clojure.main, use -M

$ node core.js 
Hello CLJS from hello.core

文件 deps.edn 内容的完整参考可在以下位置找到:https://clojure.org/reference/deps_and_cli 并且有一节介绍如何配置源、资源和测试文件夹的路径。