vinyl-ftp包有一个函数clean(),但我不知道如何正确使用它。我需要:
build文件夹中获取所有文件我的任务如下:
gulp.task('deploy', () => {
let conn = ftp.create({host:host,user:user,password: password});
return gulp.src('build/**', {base: './build/', buffer: false })
.pipe(conn.newer('/path/on/my/server/')) // only upload newer files
.pipe(conn.dest('/path/on/my/server/'))
.pipe(conn.clean('build/**', './build/'));
});( 1)和( 2)是可以的,但是clean()函数什么也不做
发布于 2017-01-13 20:23:23
vinyl-ftp docs 有话要说
conn.clean(全球,本地,选项)
<local>/<remote.relative>对远程文件进行测试,测试它们是否在本地可用,如果不能,则删除它们。
注意,globs希望您的服务器上的远程文件有一个路径。由于您的远程文件位于/path/on/my/server/中,所以必须将该路径指定为您的glob:
.pipe(conn.clean('/path/on/my/server/**', './build/'));发布于 2017-09-12 14:49:54
因为我在这方面做了很多的斗争,这里有一个工作上的平静的代码。它从服务器中删除除usage文件夹以外的本地不存在的所有文件:
var connection = ftp.create({ ... });
connection.clean([
'/*.*',
'/!(usage)*',
'/de/**',
'/en/**',
'/images/**',
'/fonts/**',
'/json/**',
'/sounds/**'
], './dist', { base: '/' });我的文件在本地的./dist文件夹上,并且直接位于根目录(/) (使用的ftp用户的)中。
https://stackoverflow.com/questions/41639069
复制相似问题