我喜欢快照框架,但我讨厌运行' cabal install'每次迭代(次要代码更改)我想尝试。
是否有快速迭代的替代方案?
答案 0 :(得分:9)
从
开始cabal install --reinstall -fhint snap
然后,对于您的项目:
cabal clean
cabal configure -fdevelopment
cabal build
./dist/build/projname/projname
无论如何,您不应该将cabal install
用于您不希望能够从任意位置执行的二进制文件。您应该将cabal build
用于您只想在本地运行的内容。
当您更改Main.hs或项目的.cabal文件时,您需要运行cabal build
并再次启动该程序。
如果您有任何其他问题,请发表评论 - 我是实现此功能的人 卡扣。
答案 1 :(得分:2)
Yesod提供yesod devel
自动重新加载代码更改。我不知道snap中有类似的功能,但很可能他们可以重用大部分执行此操作的Yesod代码。
鉴于Snap.Loader.Devel的存在,我猜他们可能已经提供了类似于你所要求的内容,但我找不到关于如何使用它的文档。常见问题How do I run my app in development mode仍然需要cabal install
;从文档中不清楚您是否只需要执行一次,或每次代码更改时。