1
如何正確使用Snap中的配置文件?快照配置文件
此刻,我硬編碼DB主機和DB名稱。如果我想把它放在projectroot/config目錄下的一個文件中,我將如何使它在一個處理程序或應用程序初始化函數中可用?
它在snaplets教程中簡單提到可以使用配置器庫,但沒有解釋如何實際使用它。
謝謝。
如何正確使用Snap中的配置文件?快照配置文件
此刻,我硬編碼DB主機和DB名稱。如果我想把它放在projectroot/config目錄下的一個文件中,我將如何使它在一個處理程序或應用程序初始化函數中可用?
它在snaplets教程中簡單提到可以使用配置器庫,但沒有解釋如何實際使用它。
謝謝。
只需撥打getSnapletUserConfig即可返回Config
。然後使用configurator的功能來獲取所需的信息。查看snaplet-postgresql-simple's use of config files作爲一個工作示例。
配置文件默認爲當前snaplet file path中的devel.cfg。因此,如果您在頂級應用程序中使用getSnapletUserConfig
,那麼配置文件將位於您的項目根目錄中。否則它將在snaplets/foo
其中「foo」是您所在的任何snaplet的名稱。
謝謝。所以我不能在處理程序中使用它?像這樣:conf < - getSnapletUserConfig; dh < - liftIO $ C.lookup conf「dbhost」; db < - liftIO $ C.lookup conf「dbname」 –
是的,您可以在任何MonadSnaplet中使用它。處理程序和初始化程序都有MonadSnaplet實例。 – mightybyte