这是一款 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 列表
type: String
当 ‘source directory’ 目录发生任何文件变化时会自动同步到 ‘destination directory’ 目录。
type: Boolean
default: true
是否对目录递归调用。
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 目录中同步新增的文件的路径。
var gutil = require('gulp-util'); function(fullPathSrc, fullPathDest) { gutil.log('同步删除文件 ' + fullPathDest); }
当 source directory 有文件被删除时会调用该方法。
fullPathSrc - source directory 目录中被删除文件的路径。
fullPathDest - destination directory 目录中同步删除的文件的路径。
var gutil = require('gulp-util'); function(fullPathSrc, fullPathDest) { gutil.log('同步修改文件 ' + fullPathDest); }
当 source directory 有文件被修改时会调用该方法。
fullPathSrc - source directory 目录中被修改文件的路径。
fullPathDest - destination directory 目录中同步修改的文件的路径。
type: function(fullPathSrc)
当 source directory 有新增文件,但并未开始同步时调用该方法。
当 source directory 有文件被删除,但并未开始同步删除时调用该方法。
当 source directory 有文件被修改,但并未开始同步修改时调用该方法。