当前位置: 首页 > news >正文

gulp入门教程9:lastRun

什么是lastRun?

lastRun是Gulp提供的一个函数,用于检索一个任务在当前运行进程中最后一次成功完成的时间。当与src函数结合使用时,它可以根据文件的最后修改时间(mtime)与任务最后成功运行的时间进行比较,从而决定哪些文件需要被处理,哪些文件可以跳过。

基本用法

首先,你需要安装Gulp及其相关插件。如果还没有安装,可以通过npm进行安装:

npm install --save-dev gulp gulp-imagemin

接下来,我们来看一个使用lastRun的示例。在这个示例中,我们将对src/images目录下的JPEG图片进行压缩,并将压缩后的图片保存到build/img目录。通过使用lastRun,我们只会压缩那些自上次任务运行以来发生变化的图片。

const { src, dest, lastRun, watch } = require('gulp');
const imagemin = require('gulp-imagemin');// 定义图片压缩任务
function images() {return src('src/images/**/*.jpg', { since: lastRun(images) }).pipe(imagemin()).pipe(dest('build/img/'));
}// 默认任务,监视图片文件的变化
exports.default = function() {watch('src/images/**/*.jpg', images);
};

在这个示例中,src函数的第二个参数是一个选项对象,其中since属性被设置为lastRun(images)的返回值。这意味着src只会选择那些最后修改时间晚于images任务上次成功运行时间的JPEG图片文件。

参数说明

  • task(必需):可以是一个任务函数或者一个已注册任务的字符串别名。
  • precision(可选):时间戳的精度,默认为Node v0.10上的1000毫秒,Node v0.12+上为0毫秒。如果你的文件系统或Node版本的文件时间属性精度较低,可以通过这个参数来调整时间戳的精度。

错误处理

  • 如果lastRun被调用时传入的不是函数或字符串,会抛出一个错误,消息为"Only functions can check lastRun"。
  • 如果在不支持WeakMap的环境中调用lastRun,并且传入的是一个不可扩展的函数,也会抛出错误,消息为"Only extensible functions can check lastRun"。

时间戳精度

根据你的Node版本和文件系统,文件的最后修改时间(mtime)精度可能会有所不同。lastRun函数允许你通过precision参数来调整这个时间戳的精度,以适应不同的环境。

例如:

  • lastRun(someTask)可能返回1426000001111(精确到毫秒)。
  • lastRun(someTask, 100)可能返回1426000001100(精确到百毫秒)。
  • lastRun(someTask, 1000)可能返回1426000001000(精确到秒)。

结论

通过使用lastRun函数,你可以轻松地实现Gulp任务的增量构建,从而显著提高构建效率。这对于处理大量文件或频繁更改的项目尤其有用。希望本文能够帮助你更好地理解和使用lastRun函数来优化你的Gulp构建流程。


http://www.mrgr.cn/news/65621.html

相关文章:

  • Remix部署智能合约时报错:Gas estimation failed
  • 【WebRTC】WebRTC的简单使用
  • Spring Boot代理问题
  • 【工具变量】大数据管理机构改革DID(2007-2023年)
  • Rust 力扣 - 54. 螺旋矩阵
  • Apache 配置出错常见问题及解决方法
  • [算法初阶]第二集 滑动窗口(已完结)
  • 宠物空气净化器是不是智商税?真实测试热门品牌!哪款除毛好?
  • 在VScode中配置C_C++环境
  • ROS2 单帧Pcd转多帧节点 录制Bag
  • 截至2024年10月, 数据知识产权登记分析
  • ArkTS常用数据处理:掌握核心技能与实践
  • GS-SLAM论文阅读--High-Fidelity SLAM Using Gaussian Splatting
  • DoubletFinder报错小结
  • 人工智能----Ai普及---手机App
  • 8、raid磁盘阵列
  • C++线程池
  • sklearn红酒数据集分类器的构建和评估
  • 图说复变函数论重大错误:将无穷多各异平面误为同一面
  • 智慧医疗——提出了一种基于敌对领域适应症预测候选抗癌药物的方法
  • 江协科技STM32学习- P35 硬件I2C读写MPU6050
  • 信息安全工程师(74)网络安全风险评估技术方法与工具
  • 633. 平方数之和 中等
  • 总结拓展十五:SAP物料分割评估
  • MATLAB绘图基础10:MATLAB极坐标相关图形
  • NRF52832学习笔记(41)——添加串口库libuarte