我正在运行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文件,它放在堆栈项目的根目录中。我得到的错误是Failed to load resource: the server responded with a status of 400 (Bad Request)
答案 0 :(得分:2)
正确的方法是使用Web.Spock.Action包中的html
功能。
我使用了一个使用ginger的jinja模板来参数化我的html文件,然后使用html
函数提供它。
import qualified Web.Spock.Action as SA
serveHtml :: JinjaTemplate -> SA.ActionT (LoggingT IO) ()
serveHtml tmplt = SA.html tmplt