gpt4 book ai didi

haskell - 如何使用 Spock (Haskell) 提供静态内容?

转载 作者:行者123 更新时间:2023-12-02 14:14:36 25 4
gpt4 key购买 nike

我正在运行 Spock 服务器并希望提供一些静态内容。我正在使用“Web.Spock.Action”包中的 respondMiddleware 函数。

签名是:

    respondMiddleware :: Monad m => Middleware -> ActionCtxT ctx m a

我使用“Network.Wai.Middleware.Static”包中的staticPolicy函数获取这个“中间件”

    staticPolicy :: Policy -> Middleware

以及使用“Network.Wai.Middleware.Static”包中的addBase的“策略”

    addBase :: String -> Policy

这是我的代码块:

    get ("/") $
respondMiddleware $ staticPolicy $ addBase ("static")

static有一个index.html以及相关的JS和CSS文件,它被放置在stack项目的根目录中。我收到的错误是无法加载资源:服务器响应状态为 400(错误请求)

最佳答案

正确的方法是使用 Web.Spock.Action 中的 html 函数。包。

我使用了 jinja 模板,使用姜来参数化我的 html 文件,然后使用 html 函数提供它。

import qualified Web.Spock.Action as SA

serveHtml :: JinjaTemplate -> SA.ActionT (LoggingT IO) ()
serveHtml tmplt = SA.html tmplt

关于haskell - 如何使用 Spock (Haskell) 提供静态内容?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/47669542/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com