2012-03-23 18 views

回答

9

開始

cabal install --reinstall -fhint snap 

然後,爲您的項目:

cabal clean 
cabal configure -fdevelopment 
cabal build 
./dist/build/projname/projname 

你不應該永遠使用cabal install對於您不希望能夠從任意位置執行的二進制文件,無論如何。你應該使用cabal build作爲你只想在本地運行的東西。

您需要運行cabal build並在更改Main.hs或項目的.cabal文件時再次啓動該程序。

如果您還有其他問題,請發表評論 - 我是爲 Snap實施此功能的人。

+0

謝謝卡爾!我正在尋找 – 2012-03-23 18:24:17

+1

另外,如果您沒有使用開發模式構建應用程序,則可以使用類似'curl http://127.0.0.1:8000/admin/reload'的方式手動重新加載應用程序。即使您沒有使用開發模式構建您的應用程序,也可以使用它。最近的討論請參閱https://groups.google.com/forum/?fromgroups#!topic/snap_framework/4lbb3VvGD-U。 – mightybyte 2012-03-24 12:45:30

+0

截止到0.9,你不需要用'-fhint'重新安裝snap – phatmann 2014-02-02 07:49:49

2

Yesod提供了yesod devel,它會自動重新載入代碼更改。我沒有意識到有一個類似的功能,但很可能他們可以重複使用大部分的Yesod代碼。

鑑於Snap.Loader.Devel的存在,我猜他們可能已經提供了類似於您所要求的內容,但我找不到有關如何使用它的文檔。常見問題How do I run my app in development mode仍然需要cabal install;從文檔中不清楚您是否只需要這樣做一次,或者每次代碼更改。