Web services 使用Snap Web框架为盗窃模板添加OnLoad钩子

Web services 使用Snap Web框架为盗窃模板添加OnLoad钩子,web-services,haskell,haskell-snap-framework,heist,Web Services,Haskell,Haskell Snap Framework,Heist,我希望为web应用程序中的预处理模板添加一些钩子,使用。到目前为止,我的天真做法是在我的应用程序初始值设定项中使用以下代码: app :: SnapletInit App App app = makeSnaplet "app" "The main web application" Nothing $ do -- ... h <- nestSnaplet "heist" heist $ heistInit "resources/templates" -- ...

我希望为web应用程序中的预处理模板添加一些钩子,使用。到目前为止,我的天真做法是在我的应用程序初始值设定项中使用以下代码:

app :: SnapletInit App App
app = makeSnaplet "app" "The main web application" Nothing $ do
    -- ...
    h <- nestSnaplet "heist" heist $ heistInit "resources/templates"
    -- ...
    modifyHeistTS . addOnLoadHook $ myTemplateHook
app::SnapletInit app
app=makeSnaplet“app”“主web应用程序”Nothing$do
-- ...

h很好的问题。看来这是我在设计图书馆时的疏忽。我会考虑如何最好地支持这一点,然后再与您联系

如果您想立即解决问题,请插入一些内容,将钩子添加到传递到loadTemplates的模板状态。或者,您也可以在Heist中直接修改emptyTemplateState


更新:我有一个heistInit的功能,应该处理这个问题。它将出现在下一个黑客版本中。在此之前,您可以从中获得它。

在本例中,钩子不是任务关键型的,因此我将等待官方支持的解决方案。谢谢你的努力和一个很棒的图书馆!heistInit’函数允许你想要什么,现在在github上。