0

我有一个 Clojure 应用程序,它处理我们公司的一些数据。所以我想获得它的定制抛出.myapp.clj文件或类似的东西的可能性。

它必须是一个简单的clojure脚本,用户可以在其中定义自己的数据处理原理。他还必须有可能调整 http 后端和其他应用程序部分。

那么,实现此文件的最佳方法是什么?

4

1 回答 1

2

有几种方法会随着复杂程度的不同而浮现在脑海中。最简单的方法是让每个用户~/.myall.clj在他们的主目录中定义一个,然后程序的开头将包含一行:

(def per-user-config (load-file "~/.myall.clj"))

load-file读取文件并返回文件中读取的最后一个表单。这使您可以很好地编写配置文件。例如,您可以制作一个公司范围的模板,其中包含诸如之类的符号user-name,然后从定义用户名的每个用户配置文件中加载它,然后调用load-file模板

配置模板.clj:

{:app-name "foo"
 :user-url (str "http://server.company:8080/users/" user-name)
 :foo "bar"}

乔斯-config.clj:

(def user-name "joe")
(load-file "resources/global-config.clj")

这允许您通过 git 分发大部分配置,同时仍然允许用户覆盖配置的任意部分。

于 2012-12-03T19:16:33.080 回答