【问题标题】:Gulp — how to get lazy, ‘make’-like building?Gulp——如何变得懒惰,像“制造”一样的建筑?
【发布时间】:2016-05-22 08:41:36
【问题描述】:

我正在使用 gulp 进行 css 和 js 处理。有时我错过了 unix make 命令的好旧的懒惰:

  • 仅从已实际更改(基于时间戳)的原始文件生成转换后的(例如编译)文件。

  • 从第 1 阶段到第 2 阶段 (.cpp -> .o)、第 2 阶段到第 3 阶段(链接或其他内容)都是如此,无论您的依赖关系图给出什么...

Make 不仅限于源代码:您可以通过几个步骤进行图像处理(例如,有效地“延迟”生成缩小的拇指)或其他许多步骤。所有这些都基于一个相当简单的规则:“至少有一个源文件比当前输出文件更新吗?”

与 gulp 不同,每一步都会生成(或多或少是临时的)文件,而不是连续的管道。

有没有办法在 gulp** 中获得同样的惰性,即在生成 css 时?

  • 仅转换那些 (less|sass|stylus) 文件➝css,如果有变化(在各自的文件上)
  • 同样适用于添加浏览器前缀、concat、minify

诚然,除了前 1 或 2 步之外,输出很可能已经是单个流。所以任何改变都意味着“感动”。尽管如此,例如在使用 minify 选项时,我宁愿对早期的 transpile、prefixing 和 concat 阶段(从临时文件中绘制先前的结果)感到懒惰。同样在 javascript 方面(typeScript,...)

lazypipe 和 gulp-cache 听起来很诱人,但如果我理解正确的话,它们是另外一回事。对于第一阶段来说,.watch() 也只是部分答案。

有更通用的方法吗?

【问题讨论】:

    标签: css node.js makefile gulp less


    【解决方案1】:

    如果您打算使用 Gulp,那么 this 似乎是这样做的方法。它涉及 gulp-cached 和 gulp-remember 插件。

    【讨论】:

      猜你喜欢
      • 2019-05-19
      • 1970-01-01
      • 1970-01-01
      • 2010-11-29
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2013-03-20
      • 2021-08-12
      相关资源
      最近更新 更多