1

.html从网站文件构建文件.md,我有一些.md不应该产生输出的文件.html(例如,因为没有准备好发布)。实现这一目标的最佳方法是什么shake

我有一个wantfor html 文件和一个搜索相应.md文件的规则,但有些不产生.htmland 并shake以 error 停止Error, rule finished running but did not produce file:

处理这种情况的最佳方法是什么?

4

1 回答 1

2

当前的限制是每个文件都必须产生一个结果。其他一些构建系统对此稍微宽松一些,但我的经验是它几乎总是错误的来源 - 尽管在某些情况下它很有用(例如你的)。选项包括:

  • 如果您可以轻松检测到文件不需要为其创建输出,则可以在之前执行此操作want- 即通过将want转换为action调用need,但仅限于输出的子集。
  • 如果检测到您不需要创建任何东西的成本很高,您可以拥有一个始终生成文件的规则,但有时会生成一个空文件,然后是一个依赖于该文件并仅复制具有内容的文件的单独规则。

不幸的是,这些情况都不是理想的。在某一时刻,Shake 可以选择将创建文件失败作为有效结果,如果有足够的需求,可以重新引入。

于 2019-04-01T16:16:07.553 回答