我有两个变量。
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
的内容,然后将其上传到服务器?
答案 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'))