【发布时间】:2019-04-12 20:24:52
【问题描述】:
我想在构建输出旁边输出静态 html 文件(向我的 Haskell 程序提供对这些文件的访问权限)。
这是我目前的项目结构:
MyProject/FrontEnd -- contains static html, js and css files.
MyProject/Backend -- contains the stack Haskell project
我希望当我在 Backend 目录中运行 stack build 时,它会构建我的 Haskell 项目,然后复制 Frontend 目录并将其与我的可执行文件一起放入构建输出中。
我对 Cabal 或 Stack 不是很熟悉,但我主要查看了 cabal 文档,发现有 data-dir 参数,看起来它可以满足我的要求,但即使添加:
data-dir: ..\Frontend 在我的 cabal 文件中,我收到以下警告:
data-dir: ..\Frontend' is a relative path outside of the source tree. This will not work when generating a tarball with 'sdist'. 并且文件不存在于输出中。
我在 Stack 中没有看到类似的标志。
有可能做我想做的事吗?或者我将不得不创建自己的脚本来为我执行此操作(调用堆栈构建,然后手动输出文件)?
【问题讨论】:
-
将您的 cabal 文件移动到
MyProject(并根据需要调整所有引用)会将MyProject/Frontend带入源代码树,从而避免该错误消息中指出的问题。 (我已经成功地将data-dir和data-files用于我的项目。) -
我想避免这样做,但看起来这将是我最好的选择,谢谢。
标签: haskell cabal haskell-stack