簡體   English   中英

如何使用Spock(Haskell)提供靜態內容?

[英]How to serve static content using Spock (Haskell)?

我正在運行Spock服務器,並希望提供一些靜態內容。 我正在使用“ Web.Spock.Action”包中的respondMiddleware函數。

簽名是:

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

我正在使用“ Network.Wai.Middleware.Static”包中的staticPolicy函數獲取此“ Middleware”

    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

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM