首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >如何使用干净的功能?

如何使用干净的功能?
EN

Stack Overflow用户
提问于 2017-01-13 16:21:33
回答 2查看 1.5K关注 0票数 4

vinyl-ftp包有一个函数clean(),但我不知道如何正确使用它。我需要:

  1. 从我的build文件夹中获取所有文件
  2. 将它们放到ftp服务器上的目标文件夹中。
  3. 在本地不可用的情况下清理文件

我的任务如下:

代码语言:javascript
复制
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()函数什么也不做

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2017-01-13 20:23:23

vinyl-ftp docs 有话要说

conn.clean(全球,本地,选项) <local>/<remote.relative>对远程文件进行测试,测试它们是否在本地可用,如果不能,则删除它们。

注意,globs希望您的服务器上的远程文件有一个路径。由于您的远程文件位于/path/on/my/server/中,所以必须将该路径指定为您的glob:

代码语言:javascript
复制
  .pipe(conn.clean('/path/on/my/server/**', './build/'));
票数 7
EN

Stack Overflow用户

发布于 2017-09-12 14:49:54

因为我在这方面做了很多的斗争,这里有一个工作上的平静的代码。它从服务器中删除除usage文件夹以外的本地不存在的所有文件:

代码语言:javascript
复制
var connection = ftp.create({ ... });

connection.clean([
    '/*.*',
    '/!(usage)*',
    '/de/**',
    '/en/**',
    '/images/**',
    '/fonts/**',
    '/json/**',
    '/sounds/**'
], './dist', { base: '/' });

我的文件在本地的./dist文件夹上,并且直接位于根目录(/) (使用的ftp用户的)中。

票数 4
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41639069

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档