css - Gulp — 如何变得懒惰,类似于 ‘make’ 的建筑?

标签 css node.js makefile gulp less

我正在使用 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,...)

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

是否有更通用的方法?

最佳答案

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

关于css - Gulp — 如何变得懒惰,类似于 ‘make’ 的建筑?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/35341586/

相关文章:

makefile - 如何在makefile中将include指令用于特定目标

jquery - 绝对元素 jQuery 居中问题

javascript - 等待 promise 从父函数解析

javascript - 如何在 node.js 中流式读取目录?

javascript - 使用 Node 执行.exe文件仅在 Protractor 中运行一次

c++ - CMake 安装(子目录中的目标)

jquery - 页面刷新后颜色不变

javascript - 带圆圈的背景应保持相同大小

jquery - float 元素上的 Bootstrap Popover

linux - 静态 Git 构建中链接时 undefined reference