node.js - Gulp vinyl ftp - 如何使用清洁功能?

标签 node.js ftp gulp vinyl vinyl-ftp

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

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

我有以下 gulp 任务:

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() 函数什么都不做

最佳答案

vinyl-ftp文档 have this to say :

conn.clean( globs, local[, options] )

Globs remote files, tests if they are locally available at <local>/<remote.relative> and removes them if not.

请注意 globs需要 FTP 服务器上的远程 文件的路径。由于您的远程文件位于 /path/on/my/server/您必须将该路径指定为您的 glob:

  .pipe(conn.clean('/path/on/my/server/**', './build/'));

关于node.js - Gulp vinyl ftp - 如何使用清洁功能?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/41639069/

相关文章:

javascript - 如何在客户端显示套接字io对象值?

node.js - 在快速项目中使用 TinyMCE 的最佳方式是什么?

javascript - MongoDB 将字段和切片投影限制在一起

azure - FTP 到 Azure WebApp 的 Gulp 脚本失败并显示 'getaddrinfo ENOTFOUND'

laravel - Gulp:找不到模块 'laravel-elixir-vue-2'

javascript - 连接和缩小 Node.js 应用程序

go - 我如何使用golang从ftp服务器下载文件

php - localhost PHP 的 FQDN 是什么?

javascript - Node 更新特定包

sass - Gulp 的 includePaths 有什么作用?