有没有推荐的方法在 clojure 的 .env
文件中加载配置?
我找到了 https://github.com/rentpath/clj-dotenv 和 https://github.com/jackmorrill/dotenv 似乎可以做我想做的事,但由于 github 活动非常低,它们都不再在 clojars.org 上可用。
还有 https://github.com/weavejester/environ/但我还没有完全弄清楚如何使用它,因为project.clj
在我的 git 存储库中被跟踪,我的配置(也在 dev 中)包含潜在的合理信息,例如 API 令牌。
任何帮助将不胜感激。
最基本的方法是 edn/read 包含配置映射的 .edn 文件。您不需要库来执行此操作。您只需要管理文件(如果它包含密码,请不要签入它,但要将其部署到需要去的地方)。
环境非常适合从环境中获取价值,但如何将它们引入您的环境取决于您。一种方法是在启动应用程序之前获取 env 文件。
这个库 https://github.com/outpace/config 可以帮助满足更复杂的需求。它允许您以不同的格式(edn/string)从许多不同的源(文件、环境或指定其他内容)中提取配置。
最终,你必须决定你想要配置的位置以及它将如何到达那里,这两者都不是你从Clojure项目中直接做的事情,而是部署问题。如果缺少您的需求,请随时添加更多细节。