我一直在关注这个 Suave 教程: https ://legacy.gitbook.com/book/theimowski/suave-music-store/details
总的来说,这看起来不错。但是,我试图让它在 Linux 上工作,由于某种原因,当 TargetFramework 设置为“net461”(未找到目标框架)时,我无法用代码编译它,所以我尝试将其更改为“netcoreapp2.0”。它编译了,但后来我遇到了一个问题: https ://theimowski.gitbooks.io/suave-music-store/content/en/css.html
最后它说要添加一个 WebPart:
pathRegex "(.*)\.(css|png)" >=> Files.browseHome
这对我来说失败了。所有编译,但我得到
This page isn’t working
localhost didn’t send any data.
我查看了 Suave 的源代码,结果发现“Files.browseHome”在“ctx.runtime.homeDirectory”下搜索文件。
我注意到这在我的机器上设置为:
/home/<my_user_name>/.nuget/packages/suave/2.2.1/lib/netstandard1.6
显然,这不是我的项目目录,所以难怪它找不到文件。
我的问题是:我应该怎么做才能让我的 Suave 应用程序使用 Files.browseHome 正确处理我的 css/png 文件?
编辑:刚刚发现将 WebPart 替换为:
pathRegex "(.*)\.(css|png)" >=> Files.browse "/home/<my_username>/<path_to_my_project>/bin/Debug/netcoreapp2.0/"
工作正常,但看起来很难看。知道如何让它变得更好吗?基本上我不想被迫在任何地方硬编码绝对路径。