如何在complie上运行像“npm install”这样的bash命令

时间:2016-08-11 17:59:40

标签: yesod

我需要在npm install && gulp build文件夹中运行static/semantic-ui,因此会创建所需的css文件。

我用Setup.hs看到了这个例子,但是在我的脚手架项目中我没有它,所以我的问题在哪里是放置代码来运行这些bash命令的正确位置。

1 个答案:

答案 0 :(得分:2)

如果您使用默认的Yesod脚手架(由stack工具生成),那么它确实不包含Setup.hs(这有点奇怪,作为他们自己的指南 - https://github.com/commercialhaskell/stack/blob/master/doc/GUIDE.md - 建议将其作为一种良好做法)

Setup.hs应位于主项目目录中(stack.ymlyourproject.cabal所在的位置相同),内容应与您所包含的示例中的内容大致相同(defaultMainWithHooks是关键部分)。

钩子使用的详细信息在https://www.haskell.org/cabal/users-guide/developing-packages.htmlcabal规范中指定:https://hackage.haskell.org/package/Cabal-1.24.0.0/docs/Distribution-Simple.html

顺便说一句,目前stack并不支持预构建挂钩(有关详细信息,请参阅:https://github.com/commercialhaskell/stack/issues/503),因此您必须坚持使用{{1}提供的挂钩} - cabal来自的地方。