Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/clojure/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/5/actionscript-3/7.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Clojure中使用environ时如何获取环境名称?_Clojure_Environ - Fatal编程技术网

在Clojure中使用environ时如何获取环境名称?

在Clojure中使用environ时如何获取环境名称?,clojure,environ,Clojure,Environ,在Clojure中使用environ时如何获取环境名称?我的意思是,:dev,:test,等等。希望将其传递给的原因是,当它显示错误时,它可以告诉我它们发生在哪个环境中。暂存中的错误与生产中的错误处理方式不同。只提供对环境变量的访问,您需要自己设置它们。您可以使用lein-environ在不同的配置文件中设置project.clj中的环境变量。这些概要文件将由leiningen挑选并合并在一起,然后您可以从代码中访问它们。例如,我们有: :profiles {:dev {:resource-

在Clojure中使用environ时如何获取环境名称?我的意思是,:dev,:test,等等。希望将其传递给的原因是,当它显示错误时,它可以告诉我它们发生在哪个环境中。暂存中的错误与生产中的错误处理方式不同。

只提供对环境变量的访问,您需要自己设置它们。您可以使用
lein-environ
在不同的配置文件中设置
project.clj
中的环境变量。这些概要文件将由leiningen挑选并合并在一起,然后您可以从代码中访问它们。例如,我们有:

  :profiles {:dev {:resource-paths ["test-resources"]
                   :env            {:environment    "development"
                                    :db-host        "localhost"
                                    :port           5000}}}

在生产中,我们提供实际的环境变量。

正如您希望在代码中“告诉,不要问”一样,您只需要使用配置选项,让environ根据环境确定正确的选项。在罕见的情况下,您实际上需要环境名称本身,只需将其放在每个环境的:env映射中。

这里的用例是什么?如果要根据环境采取不同的操作,可能将特定项添加到环境中(例如:数据库url、:nrepl端口等)可以更好地解决此问题。您还可以将一个具有环境名称的键添加到环境本身中。