我看着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"
在处理程序函数声明之前,而不是在其内部。