Haskell 当使用阴谋集团或堆栈进行构建时,是否可以在bin中输出静态文件?

Haskell 当使用阴谋集团或堆栈进行构建时,是否可以在bin中输出静态文件?,haskell,cabal,haskell-stack,Haskell,Cabal,Haskell Stack,我希望在生成输出的同时输出静态html文件(允许Haskell程序访问这些文件) 以下是我当前的项目结构: MyProject/FrontEnd -- contains static html, js and css files. MyProject/Backend -- contains the stack Haskell project 我希望当我在后端目录中运行stack build时,它会构建我的Haskell项目,然后复制前端目录,并将其与可执行文件一起放入构建输出中 我对Cabal

我希望在生成输出的同时输出静态html文件(允许Haskell程序访问这些文件)

以下是我当前的项目结构:

MyProject/FrontEnd -- contains static html, js and css files.
MyProject/Backend -- contains the stack Haskell project
我希望当我在后端目录中运行
stack build
时,它会构建我的Haskell项目,然后复制前端目录,并将其与可执行文件一起放入构建输出中

我对Cabal或Stack不太熟悉,但我主要查看了Cabal文档,发现有
data dir
参数,看起来它做了我想要的,但即使添加:
data dir:…\Frontend
在我的阴谋集团文件中,我得到以下警告:
data dir:..\Frontend'是源树外部的相对路径。使用“sdist”生成tarball时,这将不起作用。
并且输出中不存在文件

我在堆栈中没有看到类似的标志


有可能做我想做的吗?或者我必须创建自己的脚本来完成这项工作(调用堆栈构建,然后手动输出文件)

您可以使用该包使用Template Haskell将文件或目录的内容直接嵌入到可执行文件中
wai app static
使用此功能,例如,如果请求,可创建一个自包含的静态文件服务器。

将您的cabal文件移动到
MyProject
(并根据需要调整所有引用)将
MyProject/Frontend
带入源代码树,从而避免该错误消息中指出的问题。(我在我的一个项目中成功地使用了
数据目录
数据文件
)我想避免这样做,但看起来这将是我最好的选择,谢谢。