我正在使用 gulp用于css和js处理。有时我怀念 unix 的懒惰 make命令:
仅从实际已更改(基于时间戳)的原始文件生成转换后的(无论如何,例如编译)文件。
从阶段 1 到 2(.cpp -> .o),阶段 2 到 3(链接或其他东西)都是如此,无论您的依赖关系图给出什么...
Make 不仅限于源代码:您可以分几步进行图像处理(例如,有效地“惰性”生成缩小的缩略图)或其他许多步骤。所有这些都基于相当简单的规则:„相对于当前输出文件,至少有一个源文件更新?“
与 gulp 不同,每个步骤都会生成(或多或少是临时的)文件,而不是连续的管道。
有没有办法在 gulp** 中获得同样的惰性,即在生成 css 时?
- 只有在发生某些变化(在各自的文件上)时才转换那些(less|sass|stylus)文件➝css
- 同样适用于添加浏览器前缀、concat、minify
不可否认,除了前 1 或 2 个步骤之外,输出很可能已经是单个流。所以任何变化都意味着“感动”。不过,例如在使用 minify 选项时,我宁愿懒于处理早期的转译、前缀和连接阶段(从临时文件中提取先前的结果)。同样在 javascript 方面(typeScript,...)
lazypipe和 gulp-cache听起来很诱人,但如果我理解正确的话,那是另外一回事。说.watch()对于第一阶段,也只是部分答案。
是否有更通用的方法?
最佳答案
如果您打算使用 Gulp,那么 this似乎是这样做的方法。它涉及 gulp-cached 和 gulp-remember 插件。
关于css - Gulp — 如何变得懒惰,类似于 ‘make’ 的建筑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341586/