我看着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 getStatic中有一个config/routes条目。

有任何想法吗?

最佳答案

我的解决方案是添加

import Yesod.Static


在文件的顶部,并且

staticFiles "static"


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

10-04 16:43