gpt4 book ai didi

haskell - Yesod:与 Lucius 合作时出现奇怪的错误

转载 作者:行者123 更新时间:2023-12-01 12:52:21 24 4
gpt4 key购买 nike

您好,我是 yesod 的新手,我正在努力学习 Tutorial但是当我尝试开发应用程序时,它给了我这个错误:

Building ministeam-0.0.0...

Handler/AuthTut.hs:81:0: error: invalid preprocessing directive #message

cabal-dev: user error (Warning: cannot determine version of /home/nock/.cabal/bin/fake-ghc-cabal-dev : "== GHC Arguments: Start ==\n--numeric-version\n== GHC Arguments: End ==\n" /usr/bin/ar: dist/build/Handler/AuthTut.o: No such file or directory ) yesod: readProcess: cabal-dev "buildopts" (exit 1): failed

这部分代码似乎不正确(见下文)。实际上我不明白他是如何在那部分代码中使用“toWidget”函数的。我以为缺少 Lucius 模块的导入,我将其添加到教程的导入列表中,但错误仍然存​​在。

defaultLayout inside = do
mmsg <- getMessage
pc <- widgetToPageContent $ do
toWidget [lucius|
body {
width: 760px;
margin: 1em auto;
font-family: sans-serif;
}
#message{
color: #900;
}
|]

inside

hamletToRepHtml [hamlet|
$doctype 5
<html>
<head>
<title>#{pageTitle pc}
^{pageHead pc}
<body>
$maybe msg <- mmsg
<div #message>#{msg}
^{pageBody pc}
|]

提前感谢您的关注!

最佳答案

我猜您启用了 CPP(C 预处理器)语言扩展。在这种情况下,Haskell 文件中以散列开头的任何行都将被解释为 CPP 指令。由于 #message 是无效指令,您会收到一条错误消息。

我建议切换到外部 Lucius 模板并使用 widgetFile。这将具有能够在开发过程中自动重新生成 CSS 的额外优势。

关于haskell - Yesod:与 Lucius 合作时出现奇怪的错误,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11496489/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com