莎士比亚拼接在哪里寻找他们的文件
Where do shakespeare splices look for their files
我正在尝试安装莎士比亚模板 运行;特别是 Text.Hamlet。我有 $(shamletFile "HTML/index.hamlet")
(见注释),当我编译文件时,我收到一条错误消息,告诉我该文件不存在。所以我尝试了各种文件路径组合,试图猜测拼接正在使用哪个工作目录,但没有成功。
莎士比亚拼接在哪里寻找他们的文件?这在某处记录了吗?
注释
- 此路径是相对于使用模板的源文件。
- 我没有使用完整的 Yesod 框架,只使用模板引擎。
shamletFile
将标准 FilePath
作为参数,因此根据 "current local directory" 进行评估。 "Current" 在模板 Haskell 评估期间 - 即编译阶段。正如@arrowd 所指出的,这通常是主项目目录。
请注意,如果您使用的是 Yesod,这将不再适用,因为在构建过程中 yesod-bin
会向每个莎士比亚文件添加 templates/
前缀(并且在那里进行了硬编码)。
我正在尝试安装莎士比亚模板 运行;特别是 Text.Hamlet。我有 $(shamletFile "HTML/index.hamlet")
(见注释),当我编译文件时,我收到一条错误消息,告诉我该文件不存在。所以我尝试了各种文件路径组合,试图猜测拼接正在使用哪个工作目录,但没有成功。
莎士比亚拼接在哪里寻找他们的文件?这在某处记录了吗?
注释
- 此路径是相对于使用模板的源文件。
- 我没有使用完整的 Yesod 框架,只使用模板引擎。
shamletFile
将标准 FilePath
作为参数,因此根据 "current local directory" 进行评估。 "Current" 在模板 Haskell 评估期间 - 即编译阶段。正如@arrowd 所指出的,这通常是主项目目录。
请注意,如果您使用的是 Yesod,这将不再适用,因为在构建过程中 yesod-bin
会向每个莎士比亚文件添加 templates/
前缀(并且在那里进行了硬编码)。