我正在尝试让莎士比亚模板运行起来;特别是Text.Hamlet。我有$(shamletFile "HTML/index.hamlet")
(见注释),当我编译文件时,我收到一个错误,告诉我该文件不存在。所以我尝试了各种文件路径组合,试图猜测拼接使用的工作目录,但没有成功。
莎士比亚拼接在哪里寻找他们的档案?这是在某处记录的吗?
备注
答案 0 :(得分:1)
shamletFile
采用标准FilePath
作为参数,因此针对“当前本地目录”进行评估。模板Haskell评估期间的“当前” - 即编译阶段。正如@arrowd所指出的,这通常是主项目目录。
请注意,如果您使用的是Yesod,则不再适用,因为在构建期间yesod-bin
会为每个莎士比亚文件添加templates/
前缀(并且在那里进行硬编码)。