我正试着用Haskell编写一个小型的web应用程序。我有三个逻辑包:
servantreflex、reflex-dom和servant-reflex最后一个包裹给我带来了麻烦。我不知道如何构造这个项目,以便其他两个包可以使用它。我认为目前有两种选择:
extra-deps git链接导入共享包。这种方法的问题在于,这意味着我必须将对共享包的任何更改推送到GitHub,然后才能与其他包一起测试它。另外,我必须把所有的东西都分开建造。packages:选项中的所有包。但是,客户端需要用GHCJS而不是GHC编译,我在文档中没有看到一个选项来覆盖针对一个特定包的编译器。有没有办法使备选方案2发挥作用?还是有更好的方法来做这件事?
发布于 2018-01-19 12:52:40
建议的方法是有两个堆栈项目文件(例如stack-frontend.yaml使用GHCJS,stack-backend.yaml使用GHC),然后使用--stack-yaml参数在它们之间切换(例如使用stack --stack-yaml=stack-frontend.yaml build构建前端,使用stack --stack-yaml=stack-backend.yaml build构建后端)。两个stack-*.yaml文件都可以包含共享服务API。
https://stackoverflow.com/questions/48339070
复制相似问题