如何在 clojure 应用程序中实现每个用户的 .emacs 样式配置



我有一个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 分发大部分配置,同时仍然允许用户覆盖配置的任何任意部分。

最新更新