我正在运行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)
正确的方法是使用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