Gulp-File-Sync 正在参加 2020 年度 OSC 中国开源项目评选,请投票支持!
Gulp-File-Sync 在 2020 年度 OSC 中国开源项目评选 中已获得 {{ projectVoteCount }} 票,请投票支持!
投票让它出道
已投票

软件简介

这是一款 Gulp 的插件,其功能是使源目录和目标目录之间的文件操作保持同步,当检测到源目录的文件有增加/删除/更新时,会自动同步到目标目录。

Github:https://github.com/kayo5994/gulp-file-sync

安装

npm install --save-dev gulp-file-sync

使用

var gulp = require('gulp'),
    fileSync = require('gulp-file-sync');

gulp.task('sync', function() {
  gulp.watch(['src/*.*'], function() {
    fileSync('src', 'dest', {recursive: false});
  });
});

API 列表

fileSync('source directory', 'destination directory', options)

'source directory' and 'destination directory'

type: String

当 'source directory' 目录发生任何文件变化时会自动同步到 'destination directory' 目录。

options.recursive

type: Boolean

default: true

是否对目录递归调用。

options.ignore

type: string or array or regex or function

排除特定的文件,支持字符串,正则,函数(返回值是被排除的文件),例如:

// ignore all .log files
fileSync('source directory', 'destination directory', {
  ignore: '.log'  
})
fileSync('source directory', 'destination directory', {
  ignore: [/^\.log$/i, '.cache'] // Exclude all .log and .cache files
})
fileSync('source directory', 'destination directory', {
  ignore: /^\.log$/i 
})
fileSync('source directory', 'destination directory', {
  ignore: function(dir, file) {
            return file === '.log';
          } 
})

options.addFileCallback

type: function(fullPathSrc, fullPathDest)

default:

var gutil = require('gulp-util');
function(fullPathSrc, fullPathDest) {
  gutil.log('同步增加文件到 ' + fullPathDest);
}

当 source directory 有新增文件时会调用该方法。

  • fullPathSrc - source directory 目录中新增文件的路径。

  • fullPathDest - destination directory 目录中同步新增的文件的路径。

options.deleteFileCallback

type: function(fullPathSrc, fullPathDest)

default:

var gutil = require('gulp-util');
function(fullPathSrc, fullPathDest) {
  gutil.log('同步删除文件 ' + fullPathDest);
}

当 source directory 有文件被删除时会调用该方法。

  • fullPathSrc - source directory 目录中被删除文件的路径。

  • fullPathDest - destination directory 目录中同步删除的文件的路径。

options.updateFileCallback

type: function(fullPathSrc, fullPathDest)

default:

var gutil = require('gulp-util');
function(fullPathSrc, fullPathDest) {
  gutil.log('同步修改文件 ' + fullPathDest);
}

当 source directory 有文件被修改时会调用该方法。

  • fullPathSrc - source directory 目录中被修改文件的路径。

  • fullPathDest - destination directory 目录中同步修改的文件的路径。

options.beforeAddFileCallback

type: function(fullPathSrc)

当 source directory 有新增文件,但并未开始同步时调用该方法。

  • fullPathSrc - source directory 目录中新增文件的路径。

options.beforeDeleteFileCallback

type: function(fullPathSrc)

当 source directory 有文件被删除,但并未开始同步删除时调用该方法。

  • fullPathSrc - source directory 目录中被删除文件的路径。

options.beforeUpdateFileCallback

type: function(fullPathSrc)

当 source directory 有文件被修改,但并未开始同步修改时调用该方法。

  • fullPathSrc - source directory 目录中被修改文件的路径。

展开阅读全文

代码

的 Gitee 指数为
超过 的项目

评论 (0)

加载中
更多评论
暂无内容
发表于数据库专区
2018/11/06 20:04

log file sync

log file sync等待时间发生在redo log从log buffer写入到log file期间。 下面对log file sync做个详细的解释。 何时发生日志写入: 1.commit或者rollback 2.每3秒 3.log buffer 1/3满或者已经有1M的redo数据。 更......

0
0
发表了博客
2019/12/09 17:16

gulp常用插件之browser-sync使用

更多gulp常用插件使用请访问:gulp常用插件汇总 browser-sync这是一个可以在多端(pc、移动、平板)实时监测文件修改,自动刷新浏览器的工具。其实这并不是转给gulp使用的,在其它构建工具也可以用。 更多使用文档请点击访问browser-sync工具官网。 安装 首先这个工具是基于node环境的,可以通过npm安装。 在命令行窗口输入...

0
0
发表于大前端专区
2016/08/08 10:35

gulp插件之browser-sync安装报错

gulp插件之browser-sync安装报错解决办法

0
0
发表了博客
2012/05/24 12:51

Resource is out of sync with the file system:

在eclipse中,启动run on server时报错: Resource is out of sync with the file system: ........ 查阅资料后发现这是文件系统不同步的问题,是因为在eclipse之外对工程中的resource进行修改引起的;但是,有时没有在eclipse之外进行修改,也会报类似的错误。 解决办法:需要手动刷新一下资源管理器。 (1)在eclipse...

0
0
发表了博客
2018/01/27 14:56

ADAPTIVE LOG FILE SYNC 引起的高Log File Sync警示

ADAPTIVE LOG FILE SYNC 引起的高Log File Sync警示 转载链接:http://www.eygle.com/archives/2017/03/adaptive_log_file_sync.html 关于 Log File Sync 等待的优化,在Oracle数据库中一直是常见问题,LOG FILE的写出性能一旦出现波动,该等待就可能十分突出。 在Oracle 11.2.0.3 版本中,Oracle 将隐含参数 _use_adapt...

0
0
发表于服务端专区
2017/11/16 15:22

Resource is out of sync with the file system的解决办法

在eclipse中,启动server时报此错,是因为文件系统不同步造成的,解决方法有两个: (1)选中工程,右键,选择F5(手动刷新); (2)Window->Preferences->General->Workspace,选中Refresh automatically(设置eclipse...

0
0
发表了博客
2019/09/08 00:27

log file sync等待超高案例浅析

监控工具DPA发现海外一台Oracle数据库服务器DB Commit Time指标告警,超过红色告警线(40毫秒左右,黄色告警是10毫秒,红色告警线是20毫秒),如下截图所示,生成了对应的时段的AWR报告,发现Top 5 Timed Events里面,log file sync等待事件的平均等待时间为37毫秒,log file parallel write等待事件的平均等待时间为40毫...

0
0
发表了博客
2018/12/12 10:01

sync;sync;sync;reboot

Sync命令 在用reboot命令启动unix系统后,系统提示出错信息,部分应用程序不能正常工作。经仔细检查系统文件,并和初始的正确备份进行比较,发现某些文件确实被破坏了,翻来覆去找不到文件遭破坏的原因,最后想到了写缓存命令——sync,在reboot前没有运行sync命令,导致了系统文件的改变而不能正常工作。   sync命令的...

0
0
发表了博客
2018/05/01 15:34

实战远程文件同步(Remote File Sync)

1. 远程文件同步的常见方式: 1、cron + rsync 优点: 简单 缺点:定时执行,实时性比较差;另外,rsync同步数据时,需要扫描所有文件后进行比对,进行差量传输。如果文件数量达到了百万甚至千万量级,扫描所有文件将是非常耗时的。远程对比时发送所有的文件树or目录树属性,而且正在发生变化的往往是其中很少的一部分,这...

0
0
发表于数据库专区
2017/06/18 20:18

案例:log file sync等待引起的RAC 挂起(HANG)

Keyword: “Redo” “log file sync” RAC HANG WAITING “Polling” “_use_adaptive_log_file_sync” 客户的问题 用户系统有一个每隔1分钟执行的工作任务(JOB),通常会在1左右秒结束。 但是在最近发生过2次问...

0
0
没有更多内容
加载失败,请刷新页面
点击加载更多
加载中
下一页
暂无内容
0 评论
5 收藏
分享
OSCHINA
登录后可查看更多优质内容
返回顶部
顶部