我正在跟踪一个项目的最小示例的影子-cljs快速启动文档。这是链接。
最初,我有一个shadow-cljs.edn文件:
;; shadow-cljs configuration
{:source-paths
["src/dev"
"src/main"
"src/test"]
:dev-http {8080 "public"}
:dependencies
[]
:builds
{:frontend
{:target :browser
:modules {:main {:init-fn acme.frontend.app/init}}
}}}在/Users/pedro/projects/acme-app/src/main/acme/frontend/app.cljs中,我还拥有:
(ns acme.frontend.app)
(defn init []
(println "Hello World"))我可以使用命令构建并查看它:
$ npx shadow-cljs compile frontend
shadow-cljs - config: /Users/pedro/projects/acme-app/shadow-cljs.edn
shadow-cljs - updating dependencies
shadow-cljs - dependencies updated
[:frontend] Compiling ...
[:frontend] Build completed. (79 files, 0 compiled, 0 warnings, 4.88s)我一直在添加依赖项,例如:
:dependencies [[day8.re-frame/re-frame-10x "1.2.1"]
[proto-repl "0.3.1"]
[re-frame "1.2.0"]
[com.degel/re-frame-firebase "0.9.6-SNAPSHOT"]
[bidi "2.1.5"]
[re-com "2.13.2-106-180ea1f-SNAPSHOT-TALLYFOR"]
[com.andrewmcveigh/cljs-time "0.5.2"]
[com.pupeno/free-form "0.6.0"]
[binaryage/dirac "RELEASE"]
[hickory "0.7.1"]
[cljs-hash "0.0.2"]
[medley "1.2.0"]]但是,构建不会在files、compiled和warnings方面发生变化。只是时间改变了一点--时间可能是随机的/随机的(79 files, 0 compiled, 0 warnings, 5.59s)。
是否真的编译了依赖项?我如何知道是否也编译了依赖项?
如果正在编译文件,为什么文件数量保持不变?
注意,我不是在调用依赖关系中使用的函数,而且我也不想出于调试的原因调用它们。
发布于 2022-10-04 04:54:25
添加:dependencies几乎不起什么作用,它们不会单独编译。它们只能在类路径上使用。
只有当您将:require添加到文件的ns表单中,或者在REPL上动态添加require时,它们才会被编译和加载。没有明确的要求(如( :require)加载它们时,它们只是未使用的被动资源。
https://stackoverflow.com/questions/73941590
复制相似问题