Мне нравится фреймворк, но я ненавижу запуск «cabal install» с каждой итерацией (небольшое изменение кода). Я хочу попробовать.как итерации в оснастке без кабальной установки
Есть ли альтернатива для быстрой итерации?
Мне нравится фреймворк, но я ненавижу запуск «cabal install» с каждой итерацией (небольшое изменение кода). Я хочу попробовать.как итерации в оснастке без кабальной установки
Есть ли альтернатива для быстрой итерации?
Старт с
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.
спасибо Карл! точно, что я искал –
Кроме того, если вы не создали свое приложение с режимом разработки, вы можете перезагрузить приложение вручную с помощью чего-то вроде «curl http: //127.0.0.1: 8000/admin/reload'. Это доступно, даже если вы не создали свое приложение с режимом разработки. См. Https://groups.google.com/forum/?fromgroups#!topic/snap_framework/4lbb3VvGD-U для недавнего обсуждения. – mightybyte
Начиная с привязки 0.9 вам не нужно переустанавливать привязку с помощью '-fhint' – phatmann
Yesod предоставляет yesod devel
, который автоматически перезагружает изменения кода. Я не знаю о сопоставимых возможностях в оснастке, но очень вероятно, что они могут повторно использовать большую часть кода Yesod, который делает это.
Учитывая существование Snap.Loader.Devel Я предполагаю, что они уже могут предоставить что-то вроде того, о чем вы просите, но я не могу найти документацию о том, как его использовать. Вопрос вопросов How do I run my app in development mode по-прежнему требует cabal install
; из документов неясно, нужно ли вам делать это только один раз или каждый раз, когда код изменяется.
Что вы подразумеваете под «итерацией» и «итерацией» здесь? Вы имеете в виду «обновление»? – dave4420