我在cabal沙箱中使用yesod版本1.4.0.
我有以下路线文件:
/static StaticR Static getStatic
/auth AuthR Auth getAuth
/favicon.ico FaviconR GET
/robots.txt RobotsR GET
/ HomeR GET POST
/config/#String MakeConfigR GET POST
Run Code Online (Sandbox Code Playgroud)
以及实现的匹配(正确导入和所有)处理程序文件.
但是,每当yesod(或我手动)尝试编译时,我都会收到以下错误
Foundation.hs:48:1:
Illegal view pattern: fromPathPiece -> Just dyn_abDD
Use -XViewPatterns to enable view patterns
Run Code Online (Sandbox Code Playgroud)
我没有以任何方式修改Foundation.hs.
当我只有一条不带参数的路线时,例如
/noparamshere NoParamsR GET
Run Code Online (Sandbox Code Playgroud)
或者在我的路线文件中类似的东西,一切正常.我做错了什么?
我猜你用旧版的yesod创建了你的项目.从yesod-1.4.0开始,您需要启用ViewPatterns扩展,如错误消息所示.添加ViewPatterns到default-extensions您的cabal文件中.