无法使用vinyl-ftp和Gulp将文件夹/文件上传到服务器

时间:2015-11-25 01:58:02

标签: ftp gulp

我有两个变量。

var files = 'dist/**';
var destination = '/public_html/projects/test';

使用Gulp,我的任务在准备好生产时将文件添加到dist文件夹。

然后使用vinyl-ftp,一个npm包,我将files变量上传到服务器上的destination

我的问题是,当文件上传时,我的dist文件夹也会上传。然后,路径看起来像我的索引:public_html/projects/test/dist/index.html

我的问题是,我如何只抓取dist的内容,然后将其上传到服务器?

2 个答案:

答案 0 :(得分:3)

您需要将gulp.src基本路径设置为您当地的' dist'子文件夹。 e.g。

gulp
 .src('dist/**', {base: 'dist/'})
 .pipe(...)

答案 1 :(得分:1)

在我的案例中,user15895给出的解决方案工作正常,谢谢!但我需要做一个简单的调整。

var  ftp  = require('vinyl-ftp'),
gutil = require('gulp-util');

//Here in my gulp deploy task .. 
var ftpConnection = ftp.create({
  host     : "ftp.xxx.com",
  user     : "xxx",
  password : "xxx",
  parallel : 10,
  log      : gutil.log
});

var globs = [ './build/**'];

return gulp.src( globs, {base : './build' , buffer : false })
      .pipe( ftpConnection.newer('/public_html'))
      .pipe( ftpConnection.dest('/public_html'))