我有一个Clojure应用程序,可以处理我们公司的一些数据。所以我想获得其自定义抛出文件或类似文件的可能性.myapp.clj
。
它必须是 clojure 中的简单脚本,用户可以在其中定义自己的数据处理原理。此外,他必须有可能调整http后端和其他应用程序部分。
那么,实施此 fiche 的最佳方法是什么?
有几种方法会随着复杂程度的不同而浮现在脑海中。最简单的方法是让每个用户在其主目录中定义一个~/.myall.clj
,然后程序的开头将包含一行:
(def per-user-config (load-file "~/.myall.clj"))
load-file
读取文件并返回文件中读取的最后一个表单。这使您可以很好地编写配置文件。例如,您可以制作一个公司范围的模板,其中包含user-name
等符号,然后从定义用户名的每用户配置文件加载它,然后在模板上调用load-file
config-template.clj:
{:app-name "foo"
:user-url (str "http://server.company:8080/users/" user-name)
:foo "bar"}
joes-config.clj:
(def user-name "joe")
(load-file "resources/global-config.clj")
这允许您通过 Git 分发大部分配置,同时仍然允许用户覆盖配置的任何任意部分。