2017-05-03 5 views
0

私は任意の画像は、私が」とのindex.htmlから任意の画像を参照できるようになりますように、私はルートにフォルダ「イメージ」を追加することができますどのようにこの簡単なワイ/ワープアプリケーションWai/Warpでimages/css/jsのフォルダにサーバーする方法は?

app :: Wai.Application 
app req respond = respond $ case Wai.rawPathInfo req of 
    "/" -> Wai.responseFile status200 [("Content-Type", "text/html")] "views/index.html" Nothing 
    _ -> notFound 


notFound :: Wai.Response 
notFound = Wai.responseLBS status404 [("Content-Type", "text/plain")] "404 - Not Found" 

main :: IO() 
main = do 
    port <- getEnv "PORT" 
    let setting = Warp.setPort (read port :: Int) Warp.defaultSettings 
    putStrLn $ "start server on the port " ++ port 
    Warp.runSettings setting app 

を持っていますimages/something.jpg "?私は正確なルートを追加する方法を知っていますが、ここではフォルダ全体を追加する必要があります。

答えて

0

Network.Wai.Middleware.StaticstaticPolicy fnで、Policyを返し、Middlewareを返します。あなたはワイアプリに追加できます。 Policyは、ユーザーが提供するURIをファイルパスにどのようにマップするかを定義します。 Policyを構築するためにaddBaseをチェックしてください。これはあなたのニーズにちょうどいいかもしれません。

関連する問題