在erlang應用程序中爲應用程序環境變量設置不同值的建議方法是什麼?Erlang應用程序:不同的環境
我的意思是:你的erlang應用程序中如何支持應用程序中的不同環境(例如開發,舞臺,製作)?例如,我想在已知的主機上使用特定的假服務進行測試,生產代碼在不同的主機上使用真實的服務器。
在erlang應用程序中爲應用程序環境變量設置不同值的建議方法是什麼?Erlang應用程序:不同的環境
我的意思是:你的erlang應用程序中如何支持應用程序中的不同環境(例如開發,舞臺,製作)?例如,我想在已知的主機上使用特定的假服務進行測試,生產代碼在不同的主機上使用真實的服務器。
您也可以使用應用程序配置文件。您還可以在啓動erlang控制檯時將config作爲參數傳遞,以幫助您設置環境變量。所以你可以通過基於環境的test.config或production.config,無需編譯代碼並啓動它們。
您可以在這裏找到更多信息
依賴注入。
test_setup() -> [ {host,"http://..."}, ... ].
prod_setup() -> [ {host,"http://..."}, ... ].
test_start() -> start(test_setup()).
prod_start() -> start(prod_setup()).
start(Config) -> ... .
或者,策略模塊。制定一個策略,其界面與您需要的內容匹配,然後傳遞包含您所需策略的模塊的名稱。考慮ETS/DETS。