我看了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
的条目。
有什么想法吗?
答案 0 :(得分:4)
我的解决方案是添加
import Yesod.Static
位于文件顶部,
staticFiles "static"
之前处理函数声明,而不是在其内部。