我正在使用duct
lein template创建一个Web应用程序。
现在我正在查看project.clj
以了解其工作原理。
但我不知道我是否对这个特殊部分进行了严格的解释:
{:dev [:project/dev :profiles/dev]
:test [:project/test :profiles/test]
:uberjar {:aot :all}
:profiles/dev {}
:profiles/test {}
:project/dev {:dependencies [[duct/generate "0.6.1"]
[reloaded.repl "0.2.1"]
[org.clojure/tools.namespace "0.2.11"]
[org.clojure/tools.nrepl "0.2.12"]
[eftest "0.1.1"]
[kerodon "0.7.0"]]
:source-paths ["dev"]
:repl-options {:init-ns user}
:env {:port "3000"}}
例如:
这个[:project/dev :profiles/dev]
是什么意思?为什么我有一个:dev
密钥和一个:project/dev
密钥。
我知道它可能是profiles.clj
文件。但我确实不太了解它。
也许我的问题看起来有些愚蠢,但我希望我一直很清楚。
答案 0 :(得分:2)
有时将配置文件定义为其他配置文件很有用 配置文件。要做到这一点,只需使用矢量而不是地图作为 资料价值。这可以用来避免重复:
{:shared {:port 9229, :protocol "https"}
:qa [:shared {:servers ["qa.mycorp.com"]}]
:stage [:shared {:servers ["stage.mycorp.com"]}]
:production [:shared {:servers ["prod1.mycorp.com", "prod1.mycorp.com"]}]}