Gulp-File-Sync - Gulp 的文件同步插件
软件简介
这是一款 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 目录中被修改文件的路径。