2013-07-10 66 views
1

如何正確使用Snap中的配置文件?快照配置文件

此刻,我硬編碼DB主機和DB名稱。如果我想把它放在projectroot/config目錄下的一個文件中,我將如何使它在一個處理程序或應用程序初始化函數中可用?

它在snaplets教程中簡單提到可以使用配置器庫,但沒有解釋如何實際使用它。

謝謝。

回答

4

只需撥打getSnapletUserConfig即可返回Config。然後使用configurator的功能來獲取所需的信息。查看snaplet-postgresql-simple's use of config files作爲一個工作示例。

配置文件默認爲當前snaplet file path中的devel.cfg。因此,如果您在頂級應用程序中使用getSnapletUserConfig,那麼配置文件將位於您的項目根目錄中。否則它將在snaplets/foo其中「foo」是您所在的任何snaplet的名稱。

+0

謝謝。所以我不能在處理程序中使用它?像這樣:conf < - getSnapletUserConfig; dh < - liftIO $ C.lookup conf「dbhost」; db < - liftIO $ C.lookup conf「dbname」 –

+0

是的,您可以在任何MonadSnaplet中使用它。處理程序和初始化程序都有MonadSnaplet實例。 – mightybyte