在文件保存上重新加载Suave应用程序

Ari*_*Ari 5 .net f# suave

我最近开始使用Suave; 我使用yeoman和F#生成器设置了一个项目.要运行应用程序,我使用Fake构建可执行文件然后运行它.每当我更改任何应用程序文件,即*.fs文件时,我都必须重复构建和运行可执行文件的过程.

是否有更好的开发流程,其中应用程序在文件保存时重建或重新加载/重新启动?

Tom*_*cek 4

F# Snippets 项目的构建脚本正是执行此操作。

这个想法是你有app.fsx一个定义顶级WebPart名为app. 您可以在此处查看 F# 代码片段的示例。脚本app.fsx文件还可以加载其他文件,因此您可以按照您需要的任何方式构建应用程序。

然后,构建build.fsx 脚本启动一台服务器,监视源代码的文件系统更改,并在后台使用F# 编译器服务app.fsx重新加载它,并用从新值获取的服务器替换“当前加载的”服务器。app

当前构建脚本的唯一限制是它无法正确释放内存(可能应该通过在构建脚本中重新创建 F# Interactive Session 来修复),因此在大量重新加载后会耗尽内存。但它仍然使工作流程变得更好!