如何链接到哈姆雷特的静态文件?

时间:2013-11-25 14:31:00

标签: haskell yesod static-files hamlet

我看了a previous question这听起来像是同一个问题,但它似乎跳过了我必须遗漏的部分。

我在处理程序文件的顶部添加了import Settings.StaticFiles行。

我将名为chunk.png的文件复制到yesod项目的static文件夹中。

然而,无论我尝试什么,我总是得到:

  

不在范围内:'chunk_png'

我尝试在whamlet之前添加staticSite "static"$(staticSite "static"),但无济于事。

这是完整的代码:

module Handler.Foo where

import Import
import Data.List
import Settings.StaticFiles

getFooR :: Int -> Int -> Handler Html
getFooR param1 param2 = do
    staticSite "static"
    defaultLayout [whamlet|
        <img src=@{StaticR chunk_png}>
    |]

我也尝试了staticFiles "static"(而不是staticSite),但这给了我错误:

  

不在范围内:'staticFiles'也许你的意思是'staticSite'(从Settings.StaticFiles导入)

/static StaticR Static getStaticconfig/routes的条目。

有什么想法吗?

1 个答案:

答案 0 :(得分:4)

我的解决方案是添加

import Yesod.Static

位于文件顶部,

staticFiles "static"

之前处理函数声明,而不是在其内部。