4

我喜欢 snap 框架,但我讨厌在我想尝试的每次迭代(微小的代码更改)中运行“cabal install”。

是否有快速迭代的替代方案?

4

2 回答 2

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 实现此功能的人。

于 2012-03-23T17:51:22.793 回答
2

Yesod 提供了yesod devel自动重新加载代码更改的功能。我不知道 snap 中有类似的功能,但他们很可能可以重用大部分执行此操作的 Yesod 代码。

鉴于Snap.Loader.Devel的存在,我猜他们可能已经提供了您所要求的东西,但我找不到有关如何使用它的文档。FAQ 问题How do I run my app in development mode仍然需要cabal install; 从文档中不清楚您是否只需要这样做一次,或者每次代码更改时都需要这样做。

于 2012-03-23T17:04:17.123 回答